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 JSONvar 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.
Parses a XML string and returns a JsonNode object representing the parsed XML data.
// Parse a XML stringvar 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() // 502var note1Body =note1.get("body").asText(); // I will not
stringify(jsonNode: JsonNode): String
Converts a JsonNode object back to a JSON string.
// Stringify a JsonNodevar 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 JsonNodevar prettyJsonString =JsonUtil.prettyPrint(parsedData);readPath(jsonNode: String, path: String): anyReads a specific value from a JSON object usinga 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 pathvar 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 Objectvar objectNode =JsonUtil.createObjectNode();// Using the objectobjectNode.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 stringvar jsonString ='{"signature":{"fileName":"mySignature.jpg"}}';var signatureFileName =JsonUtil.readPath(jsonString,"$.signature.fileName");