Antworten:
Alle aktuellen Browser verfügen über eine integrierte native JSON-Unterstützung. Solange Sie sich nicht mit prähistorischen Browsern wie IE6 / 7 beschäftigen, können Sie dies genauso einfach tun:
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
JSON.stringify(j);
es funktioniert
var formattedJSON = JSON.stringify(j, null, 2);
Mit JSON.stringify()
gefunden in json2.js oder native in den meisten modernen Browsern.
JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings. space an optional parameter that specifies the indentation of nested structures. If it is omitted, the text will be packed without extra whitespace. If it is a number, it will specify the number of spaces to indent at each level. If it is a string (such as '\t' or ' '), it contains the characters used to indent at each level. This method produces a JSON text from a JavaScript value.
replacer
ist optional, wenn Sie also die noch verwenden möchten space
arg Sie setzen null
für replacer
. Wenn Sie daran interessiert sind, diese Funktion für hübsches Drucken zu verwenden, fand ich diese Antwort auch nützlich: stackoverflow.com/a/7220510/857209
Schauen Sie sich den aktualisierten / besseren Weg von Thomas Frank an:
Update 17. Mai 2008: Kleines Desinfektionsmittel zur toObject-Methode hinzugefügt. Jetzt wird toObject () die Zeichenfolge nicht auswerten (), wenn darin schädlicher Code gefunden wird. Für noch mehr Sicherheit: Setzen Sie das Flag includeFunctions nicht auf true.
Douglas Crockford, Vater des JSON-Konzepts, schrieb einen der ersten Stringifizierer für JavaScript. Später schrieb Steve Yen von Trim Path eine schöne verbesserte Version, die ich seit einiger Zeit benutze. Es sind meine Änderungen an Steves Version, die ich gerne mit Ihnen teilen möchte. Grundsätzlich stammten sie aus meinem Wunsch, den Stringifizierer herzustellen:
- zyklische Referenzen verarbeiten und wiederherstellen
- Fügen Sie den JavaScript-Code für Funktionen / Methoden hinzu (als Option).
- Schließen Sie bei Bedarf Objektmitglieder von Object.prototype aus.
Sie können die JSON.stringify () -Methode verwenden, um das JSON-Objekt in einen String zu konvertieren.
var j={"name":"binchen"};
JSON.stringify(j)
Für den umgekehrten Prozess können Sie die JSON.parse () -Methode verwenden, um den JSON-String in ein JSON-Objekt zu konvertieren.
In eckigenJS
angular.toJson(obj, pretty);
obj: Eingabe, die in JSON serialisiert werden soll.
Pretty (optional):
Wenn true festgelegt ist, enthält die JSON-Ausgabe Zeilenumbrüche und Leerzeichen. Bei einer Ganzzahl enthält die JSON-Ausgabe so viele Leerzeichen pro Einzug.
(Standard: 2)
JSON.stringify(j, null, 4)
würde Ihnen verschönertes JSON geben, falls Sie auch eine Verschönerung benötigen
Der zweite Parameter ist Ersetzer. Es kann als Filter verwendet werden, in dem Sie beim Stringifizieren bestimmte Schlüsselwerte herausfiltern können. Wenn auf null gesetzt, werden alle Schlüsselwertpaare zurückgegeben
Wenn Sie AngularJS verwenden, sollte der 'json'-Filter dies tun:
<span>{{someObject | json}}</span>
JSON.stringify
wandelt ein Javascript-Objekt in JSON-Text um und speichert diesen JSON-Text in einer Zeichenfolge.
Die Konvertierung ist ein Objekt in einen String
JSON.parse
wandelt eine Zeichenfolge aus JSON-Text in ein Javascript-Objekt um.
Die Konvertierung ist eine Zeichenfolge in ein Objekt
var j={"name":"binchen"};
Um es zu einem JSON-String zu machen, könnte Folgendes verwendet werden.
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
Weitere Informationen finden Sie unter diesem Link.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
Eine benutzerdefinierte Definition dafür, bis wir seltsam von Stringify-Methode tun
var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
json +=",";
}
json+="}";
document.write(json);
AUSGABE
{"name":"binchen","class":"awesome"}
Ich hatte Probleme mit Stringify, dem der Speicher ausgeht, und andere Lösungen schienen nicht zu funktionieren (zumindest konnte ich sie nicht zum Laufen bringen), als ich über diesen Thread stolperte. Dank Rohit Kumar durchlaufe ich einfach mein sehr großes JSON-Objekt, um zu verhindern, dass es abstürzt
var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
MyObjectStringify += JSON.stringify(j[x]);
count++;
if (count < last)
MyObjectStringify += ",";
}
MyObjectStringify += "]}";
MyObjectStringify würde Ihnen Ihre Zeichenfolgendarstellung geben (genau wie zu anderen Zeiten in diesem Thread erwähnt), außer wenn Sie ein großes Objekt haben, sollte dies auch funktionieren - stellen Sie einfach sicher, dass Sie es entsprechend Ihren Anforderungen erstellen - ich brauchte es, um einen Namen als Array zu haben
Woking ... Einfach zu bedienen
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Vielen Dank
Sie können die native Stringify-Funktion wie folgt verwenden
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
Wenn Sie den Wert für die json-Eigenschaften im Zeichenfolgenformat erhalten möchten, gehen Sie wie folgt vor
var i = {"x":1}
var j = JSON.stringify(i.x);
var k = JSON.stringify(i);
console.log(j);
"1"
console.log(k);
'{"x":1}'
Zum Debuggen in Node JS können Sie util.inspect () verwenden . Es funktioniert besser mit Zirkelverweisen.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
Die vorhandenen JSON-Ersetzungen waren zu viel für mich, deshalb habe ich meine eigene Funktion geschrieben. Dies scheint zu funktionieren, aber ich habe möglicherweise einige Randfälle übersehen (die in meinem Projekt nicht vorkommen). Und funktioniert wahrscheinlich nicht für bereits vorhandene Objekte, sondern nur für selbst erstellte Daten.
function simpleJSONstringify(obj) {
var prop, str, val,
isArray = obj instanceof Array;
if (typeof obj !== "object") return false;
str = isArray ? "[" : "{";
function quote(str) {
if (typeof str !== "string") str = str.toString();
return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
}
for (prop in obj) {
if (!isArray) {
// quote property
str += quote(prop) + ": ";
}
// quote value
val = obj[prop];
str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
str += ", ";
}
// Remove last colon, close bracket
str = str.substr(0, str.length - 2) + ( isArray ? "]" : "}" );
return str;
}
So in order to convert a js object to JSON String:
Die einfache Syntax zum Konvertieren eines Objekts in eine Zeichenfolge lautet
JSON.stringify(value)
Die vollständige Syntax lautet: JSON.stringify (Wert [, Ersetzer [, Leerzeichen]])
Sehen wir uns einige einfache Beispiele an. Beachten Sie, dass die gesamte Zeichenfolge doppelte Anführungszeichen erhält und alle Daten in der Zeichenfolge bei Bedarf maskiert werden.
JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* "
{"foo":true,"baz":false}" */
const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1",
"property2":"value2"}"*/
Verwenden Sie JSON.stringify
einfach eine solche Konvertierung. Denken Sie jedoch daran, dass Felder mit undefined
Wert nicht in json enthalten sind
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
Das Feld remember
'verschwindet' aus der Ausgabe json
Sie können die JSON.stringify () -Methode verwenden, um das JSON-Objekt in einen String zu konvertieren.
var j={"name":"hello world"};
JSON.stringify(j);
Um diese Zeichenfolge wieder in ein JSON-Objekt zu konvertieren, können Sie die Methode JSON.parse () verwenden.
verwenden JSON.stringify(param1, param2, param3);
Was ist: -
param1 -> Wert, der in JSON konvertiert werden soll
param2 -> Funktion zum Stringifizieren auf Ihre eigene Weise. Alternativ dient es als weiße Liste, für die Objekte in den endgültigen JSON aufgenommen werden müssen.
param3 -> Ein Datentyp Number, der die Anzahl der hinzuzufügenden Leerzeichen angibt. Maximal sind 10 erlaubt.
konvertiere str => obj
const onePlusStr = '[{"brand": "oneplus"}, {"model": "7T"}]';
const onePLusObj = JSON.parse (onePlusStr);
konvertiere obj => str
const onePLusObjToStr = JSON.stringify (onePlusStr);
Verweise auf JSON-Analyse in JS:
JSON.parse (): Klicken Sie auf
JSON.stringify (): Klicken Sie auf
Verwenden Sie die Stringify-Funktion
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
Viel Spaß beim Codieren !!!
//use JSON.stringify({})
const stringified = JSON.stringify ({}) // Objekt übergeben, das Sie im Zeichenfolgenformat konvertieren möchten
Wenn Sie einen JSON-String haben und dieser nicht mit [] umbrochen ist, wickeln Sie ihn zuerst ein
var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);
ODER
var jsonobj = eval('(' + str + ')');
console.log(jsonobj);
JSON.stringify()
ist die Methode, nach der Sie suchen.