What is JSONata?

z/OS® Connect Designer uses JSONata, an open source expression language that is used for querying and transforming JSON data.

IBM® z/OS Connect uses the open source project JSONata4Java and implements the Java™ version of JSONata to reformat and restructure JSON data that is contained in a response. You enter a JSONata expression directly to the mapping field for the response. For more information, see https://github.com/IBM/JSONata4Java.

z/OS Connect application developers use JSONata to achieve the following benefits:
  • Provide a much richer and more advanced set of mapping capabilities than exists today in z/OS Connect OpenAPI 2.
  • Enable application developers to map source files where they can write direct JSONata queries and functions without the need for a client.
  • Offer a documented and curated open source library that is maintained with active collaborators.
  • Enable synergy with other IBM tools (like IBM AppConnect) that also use JSONata to provide a consistent experience for your application developers.

You can use JSONata to create sophisticated queries that are expressed in a compact and intuitive notation. A rich complement of built-in operators and functions is provided for manipulating and combining extracted data. The results of queries can be formatted into any JSON output structure by using familiar JSON object and array syntax. Coupled with the facility to create user-defined functions, advanced expressions can be built to handle any JSON query and transformation task.

JSONata is used to extract meaningful data that is buried in potentially large JSON structures. It can be applied to virtually any problem that involves querying and transforming JSON data, and is able to.

  • Manipulate strings.
  • Combine and aggregate numeric data.
  • Query and extract values.
  • Create complex JSON output structures that enable complex data transformation tasks.

At its core, JSONata is a lightweight query and transformation language for JSON data. It allows sophisticated queries to be expressed in compact and intuitive notation.

Note: The JSON specification allows a solidus character (/) in a string field to be escaped. If the solidus character is included in a string field of the response, it should be processed on the client side of the JSON response.