Schreiben Sie formatierte JSON in Node.js
Ich bin mit Node.js POST JSON zu PostBin aber die Daten werden falsch formatiert (wie man hier sehen kann: http://www.postbin.org/1cpndqw).
Dies ist der code den ich verwende für den tesT:
var http = require('http');
var options = {
host: 'www.postbin.org',
port: 80,
path: '/1cpndqw',
method: 'POST'
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
req.write(JSON.stringify({ a:1, b:2, c:3 }, null, 4));
req.end();
InformationsquelleAutor der Frage donald | 2011-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, vor allem, weil JSON nicht egal, wie es formatiert ist, und Sie nicht tun, jede Formatierung selbst. Was Sie brauchen, ist ein javascript-prettyprinter, wenn Sie Pflege, aber die erste Frage ist "Warum tun Sie kümmern?"
Hier ein prettyprinting code von der Javascript-Rezepte.
Eigentlich gibt es eine ganze Reihe von verschiedenen Beispielen hier.
UPDATE
Okay, also ist es jetzt das tun, was Sie wollen, lassen Sie uns Fragen, ob Sie das richtige tun. Mehrere Leute haben darauf hingewiesen, Sie brauchen sich nicht übertragen, diese zusätzlichen Zeilenumbrüchen und Tabulatoren oder Leerzeichen); die Effizienz der Kosten ist klein, wahrscheinlich in der Nachbarschaft von 2-5 Prozent, aber Sie wissen nie, Wann müssen Sie möglicherweise ein paar Prozent.
Auf der anderen Seite, ich Stimme völlig zu, dass es viel bequemer Lesen zu können, die JSON-Ausgabe als prettyprinted text. Aber es gibt eine andere Lösung-du bist wahrscheinlich noch mit einem browser zu betrachten diese Ergebnisse, so dass anstelle von prettyprinting es für die übertragung, verwenden Sie eine client-side-prettyprinter. Ich benutze JSONView für Chrome und JSONView in Firefox. Viele Debugger wird auch prettyprint die JSON Ergebnisse für Sie als gut.
InformationsquelleAutor der Antwort Charlie Martin
Verwenden
JSON.stringify(object, null, 4)
wo4
ist die Anzahl der Leerzeichen zu verwenden als Einheit der Einrückung. Sie können auch"\t"
wenn Sie wollen, Registerkarten. Dies ist eigentlich Teil der ECMAScript 5-Spezifikationund ist dokumentiert auf MDN.InformationsquelleAutor der Antwort Peter Lyons
Habe ich eine zwei-Schritt-Prozess, den ich gefunden, um zu arbeiten:
InformationsquelleAutor der Antwort Fritz Dodoo
Sollten Sie sich Unterstrich-cli - es ist ein Befehlszeilen-Programm für die Untersuchung und Verarbeitung von JSON-Daten.
InformationsquelleAutor der Antwort Dave Dopson