Wie funktioniert JSON.parse() arbeiten?
Habe ich nicht gearbeitet, zu viel auf javascript. Und, ich muss zum Parsen der JSON-string. So, ich will wissen, was genau JSON.Parsen tut. Zum Beispiel :
Wenn ich diesen einen json-string an eine variable wie diese,
var ab = {"name":"abcd", "details":{"address":"pqrst", "Phone":1234567890}};
Wenn ich jetzt drucken 'ab', bekomme ich ein Objekt.
Ebenso, wenn ich dies tun :
var pq = '{"name":"abcd", "details":{"address":"pqrst", "Phone":1234567890}}';
var rs = JSON.parse(pq);
Dem " rs " ist das gleiche Objekt wie 'ab'. Also, was ist der Unterschied der beiden Ansätze, und was bedeutet JSON.parse anders gemacht hat ?
Könnte dies eine dumme Frage. Aber es wäre hilfreich, wenn jemand erklären kann.
Dank.
- JSON.analysieren verwenden, um konvertieren von string zu JSON-Objekt, das ist etwas anderes als JavaScript-Objekt
- Dies wird helfen, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
- Ich hoffe den link unten helfen würde, für Sie! [klicken zur Ansicht richtige Antwort hier][1] [1]: stackoverflow.com/questions/6489783/...
- Ist
JSON.parse(ab);
möglicherweise nur ein Tippfehler? Haben Sie nicht wollen, zu schreibenJSON.parse(pq);
statt? - ja, vielen Dank für bemerken.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einem Javascript-Objekt ist ein Datentyp in Javascript - Sie haben die Eigenschaft-Wert-paar wie definieren Sie in Ihrem ersten Beispiel.
Nun, Was ist Json : JSON-Zeichenfolge ist eine data-interchange-format - es ist nichts mehr als ein Haufen von Zeichen, die formatiert einen bestimmten Weg (damit verschiedene Programme miteinander kommunizieren)
es ist also ein String der json-Format.
endlich
JSON.parse()
Gibt das Objekt entsprechend den angegebenen JSON-text.Hier ist meine Erklärung mit einem jsfiddle.
JSON oder JavaScript Object Notation, ist ein minimales, lesbaren format zur Strukturierung von Daten. Es dient in Erster Linie zur übertragung von Daten zwischen einem server und einer Webanwendung, die als alternative zu XML.
Ihre 'ab' - variable ist keine Zeichenfolge ist, ist es ein richtiges javascript-Objekt, da Sie die {} um ihn herum. Wenn Sie eingehüllt ist das ganze in "", dann wäre es ein string und Drucke als eine einzige Zeile.
Daten Geben!! Das ist die Antwort.
In diesem Fall ab ist ein Objekt während pq ist ein string (undeutlich sprechen). Drucken ist nur ein Vorgang, der zeigt 'alles' als string. Allerdings haben Sie Blick auf die beiden unterschiedlich.
Zeichenkette ist ein Objekt, das die Eigenschaften und Methoden zugeordnet. In diesem Fall pq ist wie ein Objekt, das einen Wert hat: {"name":"abcd", "details":{"address":"pqrst", "Telefon":1234567890}} und zum Beispiel, es hat eine Eigenschaft namens Länge, deren Wert 66.
Aber ab ist ein Objekt und Sie können sich Namen und details als seine Eigenschaften.
Was JSON.parse() anders gemacht hat war, dass es geparst (umgewandelt), die Zeichenkette in ein Objekt. Nicht alle strings geparst werden können, in Objekten. Versuchen Weitergabe {"name":"abc" und JSON.analysieren, wird eine Ausnahme ausgelöst.
Vor der Analyse, pq nicht über eine Eigenschaft Namen. Wenn du sowas hast wie pq.name, werde es Euch wieder undefined. Aber wenn man analysiert es mithilfe von JSON.parse() dann rs.name wird die Rückgabe der string "abcd". Aber rs haben nicht die Eigenschaft Länge mehr, weil es keine Zeichenfolge ist. Wenn Sie versucht rs.Länge und dann bekommst du den Wert undefined.