JSON.stringify () erlaubt nur einen Wertparameter. Wie füge ich mehr Parameter hinzu, die unter einer geschweiften Klammer zusammengefasst werden sollen?

7
%Vor%

Ich habe eine Frage bezüglich der Funktion JSON.stringify() .

Ich habe gelernt, dass die Verwendung von res.headers tatsächlich nicht tatsächlich in das JSON-Format ausgegeben wird.

Im Moment bin ich darauf beschränkt, nur eine res.xxxxx-Methode innerhalb von JSON.stringify () zu verwenden. Der betreffende Code ist oben eingefügt. Wie kann ich mehr als einen Wert verwenden? Im Moment kann ich nur res.headers in den Parameter value eingeben. Ich möchte auch res.statusCode und meine eigenen Objekte verwenden, die alle unter einer geschweiften Klammer {} stehen.

Die Parameter von JSON.Stringify lauten wie folgt: JSON.stringify(value, [replacer], [space]);

    
theGreenCabbage 04.03.2013, 15:39
quelle

5 Antworten

14

Sie müssen ein neues js-Objekt erstellen und res.headers darin einfügen.

%Vor%     
mooreds 04.03.2013, 15:43
quelle
3

JSON ist immer ein einzelner Wert. Die Ausgabe out JSON.stringify kann also immer nur ein einzelner Wert sein. Es wäre sinnvoll, wenn die Eingabe auch ein einzelner Wert wäre. Das ist, als würde man fragen, warum kann meine Funktion nicht zwei Dinge zurückgeben? Sie können einen zusammengesetzten Wert zurückgeben, aber das bedeutet, dass Sie immer noch einen einzelnen (zusammengesetzten) Wert zurückgeben. Die Lösung hier ist die gleiche, komponieren Sie Ihre Eingabe.

%Vor%

Beachten Sie, dass Sie parse_http_headers selbst schreiben müssen.

    
Halcyon 04.03.2013 15:44
quelle
2

Sie könnten immer die zusätzlichen Dinge, die Sie wollen, zum Header-Objekt hinzufügen ...

%Vor%

Ich weiß nicht, ob es irgendwelche negativen Nebenwirkungen gibt, wenn Sie das Objekt res im Knoten mutieren. Sie sollten in Erwägung ziehen, eine flache Kopie des Header-Objekts zu erstellen, wenn Sie sich darüber Sorgen machen.

    
hugomg 04.03.2013 15:42
quelle
2

Sie können auch mehr als nur den headers -Teil Ihres Objekts stringieren:

%Vor%

Wenn Sie nur bestimmte Teile Ihres Objekts stringieren möchten, können Sie

verwenden
  • filtere sie mit der Funktion replacer ,
  • delete alles andere vorher,
  • oder erstellen Sie ein neues zu beschreibendes Objekt:

    %Vor%
Bergi 04.03.2013 15:46
quelle
2

Wenn Sie mehrere Objekte glätten möchten, können Sie diese Funktion verwenden.

%Vor%     
FakeRainBrigand 04.03.2013 15:51
quelle

Tags und Links