Zum Inhalt springen

JSON-Funktionen in Jitterbit Design Studio

Einführung

Mit JavaScript Object Notation (JSON)-Funktionen lassen sich Daten im JSON-Format bearbeiten. Weitere Informationen zu JSON finden Sie unter IETF RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format.

GetJSONString

Deklaration

string GetJSONString(string json_string, string path)

Syntax

GetJSONString(<json_string>, <path>)

Erforderliche Parameter

  • json_string: Eine JSON-Objektzeichenkette zum Analysieren von Daten.
  • path: Ein gültiger Pfad, der die Position der Daten in der JSON-Objektzeichenkette darstellt.

Beschreibung

Ruft Daten aus einer JSON-Objektzeichenkette mithilfe des angegebenen Pfads ab. Wenn der Pfad ungültig ist, wird der Ausführungsfluss unterbrochen und eine Fehlermeldung zurückgegeben.

Wichtig

Eine verbesserte Version dieser Funktion, GetJSONStringEx, bietet bessere Fehlerbehandlungsfunktionen, einschließlich der Kontrolle über die zurückgegebene Meldung bei Problemen mit dem angegebenen Pfad.

Diese Funktion erfordert Design Studio Version 11.28 oder später und Agent Version 11.28 oder später.

Beispiele

// Define the JSON object string:
json_string = '{ "company": [{ "name": "Jitterbit", "product": [{ "type": "iPaaS", "name": "Jitterbit iPaaS" },{ "type": "EDI", "name": "Jitterbit EDI" }] }] }';

GetJSONString(json_string, "/company/[0]/product/[1]/name");
// Returns "Jitterbit EDI"

GetJSONString(json_string, "/company/[0]/product");
// Returns '[{"type":"iPaaS","name":"Jitterbit iPaaS"},{"type":"EDI","name":"Jitterbit EDI"}]'

GetJSONString(json_string, "/company/[0]/employees");
// Returns an "employees is not a valid path" error because companies do not have employees defined in the JSON object string

GetJSONString(json_string, "/company/[1]");
// Returns a "1 is out of range" error because only one company is defined in the JSON object string

GetJSONStringEx

Deklaration

string GetJSONStringEx(string json_string, string path[, string value_if_no_match])

Syntax

GetJSONStringEx(<json_string>, <path>[, <value_if_no_match>])

Erforderliche Parameter

  • json_string: Eine JSON-Objektzeichenkette zum Analysieren von Daten.
  • path: Ein gültiger Pfad, der die Position der Daten in der JSON-Objektzeichenkette darstellt.

Optionale Parameter

  • value_if_no_match: Ein anpassbarer Rückgabewert für die Funktion, wenn der angegebene Pfad ungültig ist. Wenn nicht definiert, gibt die Funktion einen null-Wert zurück, wenn ein Problem mit dem angegebenen Pfad vorliegt.

Beschreibung

Ruft Daten aus einer JSON-Objektzeichenkette mithilfe des angegebenen Pfads ab. Wenn der Pfad ungültig ist, wird ein anpassbarer Wert zurückgegeben.

Wichtig

Diese Funktion erfordert Design Studio Version 11.59 oder später und Agent Version 11.59 / 12.3 oder später.

Beispiele

// Define the JSON object string:
json_string = '{ "company": [{ "name": "Jitterbit", "product": [{ "type": "iPaaS", "name": "Jitterbit iPaaS" },{ "type": "EDI", "name": "Jitterbit EDI" }] }] }';

GetJSONStringEx(json_string, "/company/[0]/product/[1]/name");
// Returns "Jitterbit EDI"

GetJSONStringEx(json_string, "/company/[0]/product");
// Returns '[{"type":"iPaaS","name":"Jitterbit iPaaS"},{"type":"EDI","name":"Jitterbit EDI"}]'

GetJSONStringEx(json_string, "/company/[0]/employees");
// Returns null

GetJSONStringEx(json_string, "/company/[0]/employees", "Not a valid path.");
// Returns "Not a valid path."

GetJSONStringEx(json_string, "/company/[1]");
// Returns null

GetJSONStringEx(json_string, "/company/[1]", "Out of range.");
// Returns "Out of range."

JSONParser

Deklaration

dictionary JSONParser(string json_string)

Syntax

JSONParser(<json_string>)

Erforderliche Parameter

  • json_string: Eine JSON-Objektzeichenkette, die in ein JSON-Objekt konvertiert werden soll.

Beschreibung

Konvertiert eine JSON-Objektzeichenkette in ein JSON-Objekt.

Die maximale Größe der JSON-Objektzeichenkette, die jederzeit an die JSONParser-Funktion übergeben werden kann, hängt von der Agent-Hardware und der Auslastung der Projektumgebung ab.

Wichtig

Diese Funktion erfordert Design Studio Version 11.29 oder später und Agent Version 11.29 oder später. Das Beibehalten von null-Werten in Objektfeldern und Array-Elementen erfordert Agent Version 12.12 oder später.

Beispiele

// Define the JSON object string:
json_string = '{ "company": [{ "name": "Jitterbit", "product": [{ "type": "iPaaS", "name": "Jitterbit iPaaS" },{ "type": "EDI", "name": "Jitterbit EDI" }] }] }';

// Convert the JSON object string into a JSON object:
json_object = JSONParser(json_string);

result = json_object["company"][0]["product"][1]["name"];
// Equals "Jitterbit EDI"

result = json_object["company"][0]["product"];
// Equals {"[name=>""Jitterbit iPaaS"",type=>""iPaaS""]","[name=>""Jitterbit EDI"",type=>""EDI""]"}

JSONStringify

Deklaration

string JSONStringify(dictionary json_object)

Syntax

JSONStringify(<json_object>)

Erforderliche Parameter

  • json_object: Ein JSON-Objekt, das in einen JSON-Objektstring konvertiert werden soll.

Beschreibung

Konvertiert ein JSON-Objekt in einen JSON-Objektstring.

Wichtig

Diese Funktion erfordert Design Studio Version 11.30 oder höher und Agent Version 11.30 oder höher.

  • Die Unterstützung für reservierte JSON-Zeichen wie " und \ sowie die Möglichkeit, Null-Daten zu verarbeiten, erfordert Agent Version 11.45 oder höher.
  • Die Unterstützung für numerische Werte und boolesche Werte erfordert Agent Version 12.12 oder höher.

Beispiel

// Define the JSON object structure:
json_object = Dict();
json_object["company"][0] = Dict();
json_object["company"][0]["name"] = "Jitterbit";
json_object["company"][0]["product"][0] = Dict();
json_object["company"][0]["product"][0]["type"] = "iPaaS";
json_object["company"][0]["product"][0]["name"] = "Jitterbit iPaaS";
json_object["company"][0]["product"][0]["active"] = True;
json_object["company"][0]["product"][0]["internalID"] = 123;
json_object["company"][0]["product"][0]["description"] = 'Low-code integration solutions that deliver enterprise-grade performance.\nSecure, scalable, and AI-infused, Jitterbit iPaaS grows with your organization.\n"Request a free trial today!"';
json_object["company"][0]["product"][1] = Dict();
json_object["company"][0]["product"][1]["type"] = "EDI";
json_object["company"][0]["product"][1]["name"] = "Jitterbit EDI";
json_object["company"][0]["product"][1]["active"] = True;
json_object["company"][0]["product"][1]["internalID"] = 124;
json_object["company"][0]["product"][1]["description"] = null();

JSONStringify(json_object);
// Returns '{"company":[{"name":"Jitterbit", "product":[{"name":"Jitterbit iPaaS", "type":"iPaaS", "active":true, "internalID":123, "description":"Low-code integration solutions that deliver enterprise-grade performance.\\nSecure, scalable, and AI-infused, Jitterbit iPaaS grows with your organization.\\n\\"Request a free trial today!\\""},
            {"name":"Jitterbit EDI", "type":"EDI", "active":true, "internalID":124, "description":null}]}]}'