So Express, kann man versuchen, das folgende JSON-Objekt zu holen:Richtiger Weg JSON mit Knoten zurückzukehren oder
$ 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 einen Weg, um genau den gleichen Körper in einer Antwort von einem Server unter Verwendung von Knoten zu erzeugen oder ausdrücken? Natürlich kann man die Header setzen und angeben, dass der Inhaltstyp der Antwort "application/json" sein wird, aber es gibt verschiedene Möglichkeiten, das Objekt zu schreiben/zu senden. Die eine, die ich häufig verwendete gesehen haben wird, ist durch einen Befehl der Form unter Verwendung von:
response.write(JSON.stringify(anObject));
Doch diese zwei Punkte hat, wo man argumentieren könnte, als ob sie „Probleme“ waren:
- Wir senden eine Zeichenfolge.
- Darüber hinaus gibt es am Ende kein neues Zeilenzeichen.
Eine weitere Idee ist es, den Befehl zu verwenden:
response.send(anObject);
Dies erscheint über ein JSON Objekt basierend auf der Ausgabe der Kräuselung ähnlich dem ersten Beispiel sendet werden. Es gibt jedoch kein neues Zeilenzeichen am Ende des Körpers, wenn an einem Terminal erneut eine Krümmung verwendet wird. Also, wie kann man etwas so aufschreiben mit einem neuen Zeilenzeichen am Ende mit Knoten oder Knoten/Express angehängt?
Vielen Dank für Ihre Zeit. Um ehrlich zu sein, habe ich kein Problem an meinem Ende. Es ist nur so, dass jemand (in einer anderen Zeitzone) sich über das Format beschwert hat, das ich benutzt habe, weil er einen Versuch machen wollte und aus irgendeinem Grund mein Objekt nicht richtig lesen konnte. Danke für die bemerkenswerte Version von stringify. :) – MightyMouse
Dieser Jemand sollte wirklich die JSON-Zeichenfolge in Objekte oder [mithilfe einer Browsererweiterung] (https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=de) analysieren, anstatt zu versuchen Lese von Hand. – bevacqua
Wenn ich 'curl' von der Befehlszeile verwende, ist es nett, den Zeilenumbruch am Ende der Ausgabe zu haben, so dass meine Eingabeaufforderung nicht am Ende der Ausgabe hängen bleibt. – amacleod