Właściwy sposób zwrócenia JSON za pomocą węzła lub Express

Można więc spróbować pobrać następujący obiekt JSON:

$ 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"
}
$

Czy istnieje sposób na wyprodukowanie dokładnie tego samego ciała w odpowiedzi z serwera za pomocą węzła lub wyrażenia? Oczywiście można ustawić nagłówki i wskazać, że typem treści odpowiedzi będzie „application / json”, ale istnieją różne sposoby zapisu / wysłania obiektu. Ten, którego widziałem powszechnie, to użycie polecenia w postaci:

response.write(JSON.stringify(anObject));

Ma to jednak dwa punkty, w których można argumentować, jakby były „problemami”:

Wysyłamy ciąg.Co więcej, na końcu nie ma znaku nowej linii.

Innym pomysłem jest użycie polecenia:

response.send(anObject);

Wygląda na to, że wysyła obiekt JSON oparty na wyjściu curl podobnym do pierwszego przykładu powyżej. Jednak na końcu ciała nie ma znaku nowej linii, gdy curl jest ponownie używany na terminalu. Jak więc można zapisać coś takiego za pomocą nowego znaku linii dołączonego na końcu za pomocą węzła lub węzła / wyrażenia?

questionAnswers(7)

yourAnswerToTheQuestion