Also kann man 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, genau den gleichen Body in einer Antwort von einem Server mithilfe von node oder express zu erzeugen? Offensichtlich kann man die Header setzen und angeben, dass der Content-Type der Antwort "application/json" sein wird, aber dann gibt es unterschiedliche Möglichkeiten, das Objekt zu schreiben/senden. Die häufig verwendete Methode, die ich gesehen habe, ist die Verwendung eines Befehls der Form:
response.write(JSON.stringify(anObject));
Allerdings gibt es zwei Punkte, bei denen man argumentieren könnte, dass es "Probleme" gibt:
- Wir senden einen String.
- Außerdem gibt es kein Zeilenumbruchszeichen am Ende.
Eine andere Idee ist die Verwendung des Befehls:
response.send(anObject);
Dies scheint ein JSON-Objekt zu senden, basierend auf der Ausgabe von curl ähnlich wie im ersten Beispiel oben. Allerdings gibt es kein Zeilenumbruchszeichen am Ende des Bodens, wenn curl erneut in einem Terminal verwendet wird. Wie also kann man tatsächlich etwas ähnliches mit einem Zeilenumbruchszeichen am Ende mit node oder node/express schreiben?