JSON-Funktionen in Jitterbit Studio
Einführung
JavaScript Object Notation (JSON)-Funktionen ermöglichen die Bearbeitung von Daten im JSON-Format. 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-Objektzeichenfolge, aus der Daten analysiert werden sollen.path: Ein gültiger Pfad, der den Speicherort der Daten in der JSON-Objektzeichenfolge darstellt.
Beschreibung
Ruft Daten aus einer JSON-Objektzeichenfolge mit dem bereitgestellten Pfad ab. Wenn der Pfad ungültig ist, wird der Ausführungsfluss unterbrochen und eine Fehlermeldung zurückgegeben.
Informationen zur Fehlerbehebung finden Sie unter GetJSONString: Ausführung bei ungültigem Pfad unterbrochen im Leitfaden zur Fehlerbehebung bei Vorgängen.
Wichtig
Eine verbesserte Version dieser Funktion, GetJSONStringEx, bietet bessere Fehlerbehandlungsfunktionen, einschließlich der Kontrolle über die zurückgegebene Meldung, wenn ein Problem mit dem bereitgestellten Pfad auftritt.
Diese Funktion erfordert 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-Objektzeichenfolge, aus der Daten analysiert werden sollen.path: Ein gültiger Pfad, der den Speicherort der Daten in der JSON-Objektzeichenfolge darstellt.
Optionale Parameter
value_if_no_match: Ein anpassbarer Rückgabewert für die Funktion, wenn der bereitgestellte Pfad ungültig ist. Wenn nicht definiert, gibt die Funktion einennull-Wert zurück, wenn ein Problem mit dem bereitgestellten Pfad auftritt.
Beschreibung
Ruft Daten aus einer JSON-Objektzeichenfolge mit dem bereitgestellten Pfad ab. Wenn der Pfad ungültig ist, wird ein anpassbarer Wert zurückgegeben.
Wichtig
Diese Funktion erfordert 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-Objektzeichenfolge, die in ein JSON-Objekt konvertiert werden soll.
Beschreibung
Konvertiert eine JSON-Objektzeichenfolge in ein JSON-Objekt.
Die maximale Größe der JSON-Objektzeichenfolge, die zu einem bestimmten Zeitpunkt an die Funktion JSONParser übergeben werden kann, hängt von der Agent-Hardware und der Arbeitslast der Projektumgebung ab.
Wichtig
Diese Funktion erfordert Agent-Version 11.29 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 eine JSON-Objektzeichenfolge konvertiert werden soll.
Beschreibung
Konvertiert ein JSON-Objekt in eine JSON-Objektzeichenfolge.
Wichtig
Diese Funktion erfordert Agent-Version 11.30 oder später. Die Unterstützung für reservierte JSON-Zeichen wie " und \ sowie die Möglichkeit, Null-Daten zu verarbeiten, erfordert Agent-Version 11.45 oder später.
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":1, "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":1, "internalID":124, "description":null}]}]}'