How to work with JSON in OO
in my OO flows I need to process XML as well as JSON documents.
While I found and I'm using the powerful XPath and XSL Transformation on XML files, I did not find any similarly powerful solution for JSON documents in OO.
Is there some JSON alternative to XPath or XQuery? Like JSONPath?
The alternative is indeed JSONPath. And you can easily make this work yourself in a few steps:
- Copy the Do Nothing operation to your own project and call it something like "JSONPath Query"
- Delete the inputs (if there are any) and create two new required inputs: "jsonString", "jsonPathExpr"
- Copy the JS code found via: http://goessner.net/articles/JsonPath/ to the scriptlet part of your new operation.
- Then add these lines to the end of the scriptlet:
scriptletResponse = "success";
scriptletResult = jsonPath(JSON.parse(jsonString),jsonPathExpr);
- You can also add a bit of code for changing the response if the search is unsuccessful etc.
We are considering adding this type of functionality in future version of OO.
I am in OO 9.07
I tried the scriplet and I got an error :
ReferenceError: "JSON" is not defined
Is it possible to download and add JSON to OO ?
If you look at the scriptlet code of an operation in [/Library/Utility Operations/Containers/JSON] you will see a one-liner piece of code that defines the "JSON" object that Emil is referencing.
Copy that code into your jsonPath scriptlet before attempting to use the JSON object.