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);
   }
});