1386 Stimmen

Konvertiere JS-Objekt in JSON-Zeichenfolge

Wenn ich ein Objekt in JS definiert habe mit:

var j={"name":"binchen"};

Wie kann ich das Objekt in JSON konvertieren? Der Ausgabestring sollte sein:

'{"name":"binchen"}'

10voto

Nazrul Islam Punkte 348

In AngularJS

angular.toJson(obj, pretty);

obj: Eingabe, die in JSON serialisiert werden soll.

pretty(optional):
Wenn auf true gesetzt, wird die JSON-Ausgabe Zeilenumbrüche und Leerzeichen enthalten. Wenn auf eine ganze Zahl gesetzt, wird die JSON-Ausgabe so viele Leerzeichen pro Einrückung enthalten.

(Standard: 2)

9voto

Dulith De Costa Punkte 9549

JSON.stringify wandelt ein Javascript-Objekt in JSON-Text um und speichert diesen JSON-Text in einem String.

Die Konvertierung ist von einem Objekt zu einem String

JSON.parse wandelt einen String aus JSON-Text in ein Javascript-Objekt um.

Die Konvertierung ist von einem String zu einem Objekt

var j={"name":"binchen"};

um es in einen JSON-String umzuwandeln, könnte Folgendes verwendet werden.

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

Weitere Informationen finden Sie unter dem folgenden Link.

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

9voto

Ariel Cabib Punkte 1984

Wenn Sie AngularJS verwenden, sollte das 'json' Filter es tun:

{{someObject | json}}

8voto

Rohit Kumar Punkte 1909

Eine benutzerdefinierte Definition dafür, bis wir seltsam aus der stringify-Methode heraus 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

`

AUSGABE

{"name":"binchen","class":"awesome"}

LIVE http://jsfiddle.net/mailmerohit5/y78zum6v/

`

7voto

Sam Punkte 1090

Ich hatte Probleme damit, dass stringify den Speicher überschreitet und andere Lösungen schienen nicht zu funktionieren (zumindest konnte ich sie nicht zum Laufen bringen), als ich auf diesen Thread gestoßen bin. Dank Rohit Kumar durchlaufe ich einfach mein sehr großes JSON-Objekt, um einen Absturz zu verhindern

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 dir deine Zeichenfolge geben (wie bereits in diesem Thread erwähnt) außer wenn du ein großes Objekt hast, sollte das auch funktionieren - stelle nur sicher, dass du es an deine Bedürfnisse anpasst - Ich brauchte es, um einen Namen anstelle eines Arrays zu haben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X