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"}'
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"}'
Die vorhandenen JSON-Ersetzungen waren zu viel für mich, also habe ich meine eigene Funktion geschrieben. Dies scheint zu funktionieren, aber ich könnte einige Randfälle übersehen haben (die in meinem Projekt nicht auftreten). Und wird wahrscheinlich nicht für vorhandene Objekte funktionieren, 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 ();
// Wenn die tatsächliche Variable eine Zahl war, gab sie eine Zahl zwischen Anführungszeichen zurück
// return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"';
// Jetzt überprüfen wir, ob es eine Zahl ist, und wenn ja, entfernen wir die Anführungszeichen
str = str.match (/^\".*\"$/) ? str : '"' + str.replace (/"/g, '\\"') + '"';
if (isNaN (str.replace (/^["]/, '').replace (/["]$/, '')))
return str;
else
return str.replace (/^["]/, '').replace (/["]$/, '');
}
for (prop in obj) {
if (!isArray) {
// Eigenschaft in Anführungszeichen setzen
str += quote (prop) + ": ";
}
// Wert in Anführungszeichen setzen
val = obj [prop];
str += typeof val === "object" ? simpleJSONstringify (val) : quote (val);
str += ", ";
}
// Letztes Komma entfernen, schließende Klammer
str = str.substr (0, str.length - 2) + ( isArray ? "]" : "}" );
return str;
}
Verwenden Sie einfach JSON.stringify
zur Konvertierung - denken Sie jedoch daran, dass Felder, die den Wert undefined
haben, nicht in das JSON aufgenommen werden.
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
Das Feld remember
'verschwindet' aus dem Ausgabe-JSON
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.