Funciones JSON en Jitterbit Design Studio
Introducción
JavaScript Object Notation (JSON) permite manipular datos en formato JSON. Para obtener más información sobre JSON, consulta IETF RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format.
GetJSONString
Declaración
string GetJSONString(string json_string, string path)
Sintaxis
GetJSONString(<json_string>, <path>)
Parámetros obligatorios
json_string: Una cadena de objeto JSON de la cual se extraerán datos.path: Una ruta válida que representa la ubicación de los datos en la cadena de objeto JSON.
Descripción
Extrae datos de una cadena de objeto JSON usando la ruta proporcionada. Si la ruta no es válida, se interrumpe el flujo de ejecución y se devuelve un mensaje de error.
Importante
Una versión mejorada de esta función, GetJSONStringEx, ofrece mejores capacidades de manejo de errores, incluyendo control sobre el mensaje que se devuelve cuando hay un problema con la ruta proporcionada.
Esta función requiere Design Studio versión 11.28 o posterior y agent versión 11.28 o posterior.
Ejemplos
// 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
Declaración
string GetJSONStringEx(string json_string, string path[, string value_if_no_match])
Sintaxis
GetJSONStringEx(<json_string>, <path>[, <value_if_no_match>])
Parámetros obligatorios
json_string: Una cadena de objeto JSON de la cual se extraerán datos.path: Una ruta válida que representa la ubicación de los datos en la cadena de objeto JSON.
Parámetros opcionales
value_if_no_match: Un valor de retorno personalizable para la función si la ruta proporcionada no es válida. Si no se define, la función devuelve un valornullcuando hay un problema con la ruta proporcionada.
Descripción
Extrae datos de una cadena de objeto JSON usando la ruta proporcionada. Si la ruta no es válida, se devuelve un valor personalizable.
Importante
Esta función requiere Design Studio versión 11.59 o posterior y agent versión 11.59 / 12.3 o posterior.
Ejemplos
// 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
Declaración
dictionary JSONParser(string json_string)
Sintaxis
JSONParser(<json_string>)
Parámetros obligatorios
json_string: Una cadena de objeto JSON para convertir en un objeto JSON.
Descripción
Convierte una cadena de objeto JSON en un objeto JSON.
El tamaño máximo de la cadena de objeto JSON que se puede pasar a la función JSONParser en un momento dado depende del hardware del agent del entorno del proyecto y la carga de trabajo.
Importante
Esta función requiere Design Studio versión 11.29 o posterior y agent versión 11.29 o posterior. Preservar valores null en campos de objetos y elementos de arrays requiere agent versión 12.12 o posterior.
Ejemplos
// 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
Declaración
string JSONStringify(dictionary json_object)
Sintaxis
JSONStringify(<json_object>)
Parámetros obligatorios
json_object: Un objeto JSON a convertir en una cadena de objeto JSON.
Descripción
Convierte un objeto JSON en una cadena de objeto JSON.
Importante
Esta función requiere Design Studio versión 11.30 o posterior y versión de agent 11.30 o posterior.
- La compatibilidad con caracteres JSON reservados como
"y\y la capacidad de manejar datos nulos requiere versión de agent 11.45 o posterior. - La compatibilidad con valores numéricos y booleanos requiere versión de agent 12.12 o posterior.
Ejemplo
// 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}]}]}'