Ich verwende Node.js, um JSON an PostBin zu senden, aber die Daten werden falsch formatiert (wie Sie hier sehen können: http://www.postbin.org/1cpndqw ).
Dies ist der Code, den ich für tesT verwende:
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();
javascript
json
node.js
webhooks
Donald
quelle
quelle
{"a":1,"b":2,"c":3}
Hast du dein Problem behoben? Anscheinend haben Sie die Daten korrekt veröffentlicht.Antworten:
Vor allem, weil es JSON egal ist, wie es formatiert ist, und Sie selbst keine Formatierung vornehmen. Was Sie brauchen, ist ein hübscher Javascript-Drucker, wenn Sie sich interessieren, aber die erste Frage lautet: "Warum interessiert es Sie?"
Hier ist ein hübscher Druckcode aus den Javascript-Rezepten.
Tatsächlich gibt es hier auf SO eine ganze Reihe verschiedener Beispiele .
AKTUALISIEREN
Okay, jetzt macht es, was Sie wollen. Fragen wir, ob Sie das Richtige tun. Wie mehrere Personen bereits betont haben, müssen Sie diese zusätzlichen Zeilenumbrüche, Tabulatoren oder Leerzeichen nicht übertragen. Die Effizienzkosten sind gering, wahrscheinlich in der Nähe von 2 bis 5 Prozent, aber Sie wissen nie, wann Sie möglicherweise ein paar Prozent benötigen.
Andererseits stimme ich voll und ganz zu, dass es viel bequemer ist, die JSON-Ausgabe als hübsch gedruckten Text lesen zu können. Aber es gibt noch eine andere Lösung: Sie verwenden wahrscheinlich immer noch einen Browser, um diese Ergebnisse anzuzeigen. Verwenden Sie also einen clientseitigen Pretty-Drucker, anstatt ihn für die Übertragung auszudrucken. Ich verwende JSONView für Chrome und JSONView in Firefox. Viele Debugger drucken die JSON-Ergebnisse auch für Sie aus.
quelle
Verwenden Sie
JSON.stringify(object, null, 4)
wo4
ist die Anzahl der Leerzeichen, die als Einrückungseinheit verwendet werden sollen. Sie können auch verwenden,"\t"
wenn Sie Registerkarten möchten. Dies ist tatsächlich Teil der ECMAScript 5-Spezifikation und auf MDN dokumentiert .quelle
Ich habe einen zweistufigen Prozess verwendet, der funktioniert hat:
quelle
Sie sollten underscore-cli ausprobieren - es ist ein Befehlszeilentool zum Überprüfen und Verarbeiten von JSON-Daten.
quelle