The JsonUtil class provides utility methods for working with JSON data. It includes methods for converting objects to JSON, parsing JSON strings, and manipulating JSON data.
Methods
toJson(object: any): JsonNode
Converts a JavaScript object to a JSON representation and returns a JsonNode object.
// Convert an object to JSON
var dataObject = { "name": "John", "age": 30 };
var jsonData = JsonUtil.toJson(dataObject);
parse(jsonStr: String): JsonNode
Parses a JSON string and returns a JsonNode object representing the parsed JSON data.
// Parse a JSON string
var jsonString = '{"name": "Alice", "age": 25}';
var parsedData = JsonUtil.parse(jsonString);
parseXml(xmlStr: String): JsonNode
Parses a XML string and returns a JsonNode object representing the parsed XML data.
// Parse a XML string
var xmlStr = "<messages><note id=\"501\"><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note><note id=\"502\"><to>Jani</to><from>Tove</from><heading>Re: Reminder</heading><body>I will not</body></note></messages>"
var obj = JsonUtil.parseXml(xmlStr)
var note0 = obj.get("note").get(0);
var note1 = obj.get("note").get(1);
var note1ID = note1.get("id").asInt() // 502
var note1Body = note1.get("body").asText(); // I will not
stringify(jsonNode: JsonNode): String
Converts a JsonNode object back to a JSON string.
// Stringify a JsonNode
var jsonString = JsonUtil.stringify(jsonData);
prettyPrint(jsonNode: JsonNode): String
Formats and pretty-prints a JsonNode object as a JSON string with proper indentation and line breaks.
// Pretty print a JsonNode
var prettyJsonString = JsonUtil.prettyPrint(parsedData);
readPath(jsonNode: String, path: String): any
Reads a specific value from a JSON object using a JSON path and returns it.
// Read a value from JSON using a pathvar jsonContent = '{"person": {"name": "Bob", "address": {"city": "New York"}}}';var city = JsonUtil.readPath(jsonContent, "person.address.city");return "City: " + city; // City: New York
readPath(jsonNode: String, path: String): any
Reads a specific value from a JSON object using a JSON path and returns it.
// Read a value from JSON using a path
var jsonContent = '{"person": {"name": "Bob", "address": {"city": "New York"}}}';
var city = JsonUtil.readPath(jsonContent, "person.address.city");
return "City: " + city; // City: New York
createObjectNode(): ObjectNode
Create an empty Json Object to be set with values.
// Create an empty Json Object
var objectNode = JsonUtil.createObjectNode();
// Using the object
objectNode.put("doubleKey", Double.parseDouble("553.1"));
objectNode.put("str", "This is a string");
objectNode.put("int", Integer.sum(4, 5));
objectNode.set("jsonObject", JsonUtil.toJson(Instant.now()));
return objectNode;
Examples
Example: JSON Read Using JSON Path
Description: This script reads a JSON property value using JSON path from a JSON string.
Use Case: Useful for extracting specific data from structured JSON objects.
// Reads the signature filename from a json string
var jsonString = '{"signature":{"fileName":"mySignature.jpg"}}';
var signatureFileName = JsonUtil.readPath(jsonString, "$.signature.fileName");