Man kann also versuchen, das folgende JSON-Objekt abzurufen:
$ 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"
}
$
Gibt es eine Möglichkeit, in einer Antwort von einem Server mit Node oder Express genau denselben Text zu erzeugen? Natürlich kann man die Header setzen und angeben, dass der Inhaltstyp der Antwort "application / json" sein wird, aber dann gibt es verschiedene Möglichkeiten, das Objekt zu schreiben / zu senden. Das, was ich häufig gesehen habe, ist die Verwendung eines Befehls des Formulars:
response.write(JSON.stringify(anObject));
Dies hat jedoch zwei Punkte, an denen man argumentieren könnte, als wären sie "Probleme":
- Wir senden eine Zeichenfolge.
- Außerdem gibt es am Ende kein neues Zeilenzeichen.
Eine andere Idee ist, den Befehl zu verwenden:
response.send(anObject);
Dies scheint ein JSON-Objekt zu senden, das auf der Ausgabe von Curl basiert, ähnlich dem ersten Beispiel oben. Es gibt jedoch kein neues Linienzeichen am Ende des Körpers, wenn Curl wieder an einem Terminal verwendet wird. Wie kann man so etwas tatsächlich mit einem neuen Zeilenzeichen aufschreiben, das am Ende mit node oder node / express angehängt wird?