JSON : Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • Die JSON -API stellt Methoden bereit, um JSON-Objekte aus einer Zeichenfolge zu erstellen und JSON-Objekte in Zeichenfolgen umzuwandeln.

    Diese API verfügt über dynamische und statische Methoden. Sie greifen auf die dynamischen Methoden zu, indem Sie ein JSON-Objekt erstellen. Um die dynamischen Methoden in einer bereichsbezogenen Anwendung zu verwenden, fügen Sie beim Aufruf des Konstruktors das globale Präfix hinzu. Sie greifen auf die statischen Methoden zu, indem Sie das statische JSON-Objekt verwenden.

    Das native JSON-Objekt von JavaScript ES5 wird anstelle der statischen JSON-Methoden verwendet. Wenn Ihr Skript das alte Verhalten verwenden muss, verwenden Sie die encode()- und decode()-Methoden.

    In diesem Beispiel wird ein JSON-Objekt erstellt.
    // obj is a JSON formatted object
    var parser = new JSON(); // encode() and decode() are dynamic methods.
    var str = parser.encode(obj);

    Die Methoden encode() und decode() sind veraltet. Verwenden Sie stattdessen das JavaScript JSON-Objekt.

    In diesem Beispiel wird ein JSON-Objekt in einem bereichsbezogenen Skript erstellt.
    // obj is a JSON formatted object
    var parser = new global.JSON();
    var str = parser.encode(obj);
    
    In diesem Beispiel werden statische Methoden verwendet.
    // obj is a JSON formatted object
    var str =  JSON.stringify(obj);
    // str is a string containing content to be turned into a JSON formatted object
    var obj = JSON.parse(str);
    

    JSON – decode(String str)

    Erstellt einen Objekt- oder Grundtyp aus einer JSON-formatierten Zeichenfolge.

    Hinweis:
    Diese Klasse ist veraltet. Verwenden Sie stattdessen das JavaScript JSON-Objekt.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    str Zeichenfolge Eine JSON-formatierte Zeichenfolge.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Objekt Ein Objekt, das aus der angegebenen Zeichenfolge erstellt wurde.
    var str = '{"name":"George","lastname":"Washington"}';
    var parser = new JSON();
    var obj = parser.decode(str);
    gs.info('The first name is '  + obj.name);

    Ausgabe: Der Vorname ist „George“

    Zur Verwendung in einem bereichsbezogenen Skript.

    var str = '{"name":"George","lastname":"Washington"}';
    var parser = new global.JSON();
    var obj = parser.decode(str);
    gs.info('The first name is '  + obj.name);

    Ausgabe: Der Vorname ist „George“

    JSON – encode(Object jsonObject)

    Erstellt eine Zeichenfolge aus einem JSON-Objekt.

    Hinweis:
    Diese Klasse ist veraltet. Verwenden Sie stattdessen das JavaScript JSON-Objekt.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    jsonObject Objekt Das JSON-Objekt, das in eine Zeichenfolge umgewandelt werden soll.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge.
    var obj = {"name":"George","lastname":"Washington"};
    var parser = new JSON();
    var str = parser.encode(obj);
    gs.info('The object '  + str);

    Ausgabe: Das Objekt {"lastname":"Washington","name":"George"}

    Zur Verwendung in einem bereichsbezogenen Skript.

    var obj = {"name":"George","lastname":"Washington"};
    var parser = new global.JSON();
    var str = parser.encode(obj);
    gs.info('The object '  + str);

    JSON – JSON()

    Erstellt eine Instanz der JSON-Klasse.

    Diese Klasse ist veraltet. Verwenden Sie stattdessen das JavaScript JSON-Objekt.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine

    JSON – parse(String str)

    Erstellt einen Objekt- oder Grundtyp aus einer JSON-formatierten Zeichenfolge.

    Das native JSON-Objekt von JavaScript ES5 wird anstelle der statischen JSON-Methoden verwendet. Wenn Ihr Skript das alte Verhalten verwenden muss, verwenden Sie die encode()- und decode()-Methoden.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    str Zeichenfolge Eine JSON-formatierte Zeichenfolge.
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Objekt Ein Objekt, das aus der angegebenen Zeichenfolge erstellt wurde.
    var str = '{"name":"George","lastname":"Washington"}';
    var obj = JSON.parse(str);
    gs.info('The first name is '  + obj.name);

    Ausgabe: Der Vorname ist „George“

    JSON – stringify(Object jsonObject)

    Erstellt eine Zeichenfolge aus einem JSON-Objekt.

    Die JSON.stringify()-Methode kann nur Zahlen, Zeichenfolgen und native Java-Objekte in Zeichenfolgen konvertieren. Sie kann keine benutzerdefinierten Objekte in Zeichenfolgen konvertieren, außer diese Objekte stellen eine toJSON()-Methode bereit. Der Aufruf der current.sys_id() gibt ein GlideElement-Objekt zurück, das über keine toJSON()-Methode verfügt. Daher ist der Rückgabewert für Stringify leer: "{}". Das native JSON-Objekt von JavaScript ES5 wird anstelle der statischen JSON-Methoden verwendet. Wenn Ihr Skript das alte Verhalten verwenden muss, verwenden Sie die encode()- und decode()-Methoden.

    JSON.stringify() konvertiert einen Wert unter Verwendung der folgenden Richtlinien in die JSON-Notation:
    • Wenn der Wert die toJSON()-Methode aufweist, ist diese für die Definition der serialisierten Daten verantwortlich.
    • Boolean-, Number- und String-Objekte werden während der Stringifizierung in die entsprechenden Primitivwerte konvertiert; entsprechend der traditionellen Konvertierungssemantik.
    • Wenn während der Konvertierung eine Funktion (undefiniert) oder ein Symbol gefunden wird, wird diese/s entweder weggelassen (wenn sie/es in einem Objekt gefunden wird) oder auf null zensiert (wenn sie/es in einem Array gefunden wird). JSON.stringify() gibt bei der Übergabe von „reinen“ Werten, wie zum Beispiel JSON.stringify(function(){}) oder JSON.stringify(undefined), auch „undefiniert“ zurück.
    • Alle symbolkodierten Eigenschaften werden ignoriert, sogar wenn eine replacer()-Funktion verwendet wird.
    • Datumsinstanzen implementieren die toJSON()-Funktion durch Rückgabe einer Zeichenfolge (gleich wie date.toISOString()). Daher werden sie wie Zeichenfolgen behandelt.
    • Die Zahlen „Infinity“ und „NaN“ sowie der Wert „null“ werden alle als „null“ betrachtet.
    • Bei allen anderen Objektinstanzen werden nur deren abzählbaren Eigenschaften serialisiert.
    Tabelle : 8. Parameter
    Name Typ Beschreibung
    jsonObject Objekt Das JSON-Objekt, das in eine Zeichenfolge umgewandelt werden soll.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Zeichenfolge JSON-formatierte Zeichenfolge.
    var obj = {"name":"George","lastname":"Washington"};
    var str =  JSON.stringify(obj);
    gs.info('The object '  + str);
    

    Ausgabe: Das Objekt {"name":"George","lastname":"Washington"}

    Es ist auch möglich, eine replacer()-Funktion zu definieren und diese im stringify()-Aufruf zu verwenden. Diese Funktion nutzt die GlideElement.toString()-Methode, um eine Zeichenfolgendarstellung des GlideElement-Objekts bereitzustellen.

    function replacer(name, val) {
       // convert GlideElement to string
       if ( val && val.constructor === GlideElement ) {
           return val.toString();
       } else {
           return val; // return as is
       }
    };
    
    var s = global.JSON.stringify(json_obj, replacer);
    gs.info("json="+s);