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 utworzenie dokładnie tego samego ciała w odpowiedzi z serwera używającego węzła lub ekspresowego? Oczywiście można ustawić nagłówki i wskazać, że typem odpowiedzi będzie „application / json”, ale istnieją różne sposoby pisania / wysyłania obiektu. Ten, który często widziałem, jest używany za pomocą polecenia formularza:
response.write(JSON.stringify(anObject));
Ma to jednak dwa punkty, w których można argumentować, jakby to były „problemy”:
- Wysyłamy ciąg.
- Ponadto na końcu nie ma nowego znaku linii.
Innym pomysłem jest użycie polecenia:
response.send(anObject);
Wygląda na to, że wysyła obiekt JSON na podstawie danych wyjściowych curl podobny do pierwszego przykładu powyżej. Jednak na końcu treści nie ma nowego znaku linii, gdy zawinięcie jest ponownie używane na terminalu. Jak zatem można zapisać coś takiego, dodając na końcu nowy znak linii za pomocą węzła lub węzła / ekspresu?