Prototyp- und JSON-Tutorial
Einführung in JSON
JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat.
JSON ist für Menschen leicht zu lesen und zu schreiben.
JSON ist für Maschinen einfach zu analysieren und zu generieren.
JSON basiert auf einer Teilmenge der JavaScript-Programmiersprache.
JSON wird insbesondere von APIs im gesamten Web verwendet und ist eine schnelle Alternative zu XML in Ajax-Anforderungen.
JSON ist ein Textformat, das vollständig sprachunabhängig ist.
Prototyp 1.5.1 und eine neuere Version bietet Unterstützung für JSON-Codierung und -Parsing.
JSON-Codierung
Der Prototyp bietet die folgenden Methoden zum Codieren:
NOTE - Stellen Sie sicher, dass Sie mindestens die Version 1.6 von prototype.js haben.
S.No. | Methode & Beschreibung |
---|---|
1. | Number.toJSON () Gibt eine JSON-Zeichenfolge für die angegebene Nummer zurück. |
2. | String.toJSON () Gibt eine JSON-Zeichenfolge für die angegebene Zeichenfolge zurück. |
3. | Array.toJSON () Gibt eine JSON-Zeichenfolge für das angegebene Array zurück. |
4. | Hash.toJSON () Gibt eine JSON-Zeichenfolge für den angegebenen Hash zurück. |
5. | Date.toJSON () Konvertiert das Datum in eine JSON-Zeichenfolge (gemäß dem von JSON verwendeten ISO-Format). |
6. | Object.toJSON () Gibt eine JSON-Zeichenfolge für das angegebene Objekt zurück. |
Wenn Sie sich nicht sicher sind, welche Art von Daten Sie codieren müssen, verwenden Sie am besten Object.toJSON.
var data = {name: 'Violet', occupation: 'character', age: 25 };
Object.toJSON(data);
Dies führt zu folgendem Ergebnis:
'{"name": "Violet", "occupation": "character", "age": 25}'
Wenn Sie benutzerdefinierte Objekte verwenden, können Sie außerdem Ihre eigene toJSON-Methode festlegen, die von Object.toJSON verwendet wird . Zum Beispiel -
var Person = Class.create();
Person.prototype = {
initialize: function(name, age) {
this.name = name;
this.age = age;
},
toJSON: function() {
return ('My name is ' + this.name +
' and I am ' + this.age + ' years old.').toJSON();
}
};
var john = new Person('John', 49);
Object.toJSON(john);
Dies führt zu folgendem Ergebnis:
'"My name is John and I am 49 years old."'
JSON analysieren
In JavaScript erfolgt das Parsen von JSON normalerweise durch Auswerten des Inhalts einer JSON-Zeichenfolge. Prototype führt String.evalJSON ein, um damit umzugehen. Zum Beispiel -
var d='{ "name":"Violet","occupation":"character" }'.evalJSON();
d.name;
Dies führt zu folgendem Ergebnis:
"Violet"
Verwenden von JSON mit Ajax
Die Verwendung von JSON mit Ajax ist sehr einfach. Rufen Sie einfach String.evalJSON für die responseText-Eigenschaft des Transports auf -
new Ajax.Request('/some_url', {
method:'get',
onSuccess: function(transport) {
var json = transport.responseText.evalJSON();
}
});
Wenn Ihre Daten aus einer nicht vertrauenswürdigen Quelle stammen, müssen Sie sie unbedingt bereinigen.
new Ajax.Request('/some_url', {
method:'get',
requestHeaders: {Accept: 'application/json'},
onSuccess: function(transport) {
var json = transport.responseText.evalJSON(true);
}
});