Ainsi, on peut tenter de récupérer l'objet JSON suivant:
$ curl -i -X GET http://echo.jsontest.com/key/value/anotherKey/anotherValue
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=ISO-8859-1
Date: Wed, 30 Oct 2013 22:19:10 GMT
Server: Google Frontend
Cache-Control: private
Alternate-Protocol: 80:quic,80:quic
Transfer-Encoding: chunked
{
"anotherKey": "anotherValue",
"key": "value"
}
$
Existe-t-il un moyen de produire exactement le même corps dans une réponse d'un serveur utilisant node ou express? De toute évidence, on peut définir les en-têtes et indiquer que le type de contenu de la réponse sera "application / json", mais il existe alors différentes façons d'écrire / d'envoyer l'objet. Celui que j'ai vu couramment utilisé est en utilisant une commande de la forme:
response.write(JSON.stringify(anObject));
Cependant, cela comporte deux points sur lesquels on pourrait argumenter comme s'il s'agissait de «problèmes»:
- Nous envoyons une chaîne.
- De plus, il n'y a pas de nouveau caractère de ligne à la fin.
Une autre idée est d'utiliser la commande:
response.send(anObject);
Cela semble envoyer un objet JSON basé sur la sortie de curl similaire au premier exemple ci-dessus. Cependant, il n'y a pas de nouveau caractère de ligne à la fin du corps lorsque curl est à nouveau utilisé sur un terminal. Alors, comment peut-on réellement écrire quelque chose comme ça avec un nouveau caractère de ligne ajouté à la fin en utilisant node ou node / express?