JSON is a very common data format. It’s an open standard file format and data interchange format which organizes data into readable text, which is then used to transit and store data objects. Using this format, APIs are able to communicate with other systems, including Microsoft CRM, Business Central, and Dynamics 365. The Parse JSON tool allows you to interpret the data with whatever language you’re using. For example, when you use Parse JSON in Power Automate, raw data is changed into values, which are then used as content for your dynamic flow.
Using Parse JSON delivers a number of benefits. The tool requires very little coding experience and can quickly create a data flow in a more readable, convenient format. Plus, JSON has a wide range of supported browser compatibility, making it easy to support other browsers.
However, there are a few disadvantages to using JSON and specific situations where using the tool isn’t the right choice.
The Limitations of Parse JSON
One of the biggest limitations to using Parse JSON in Power Automate is the usage limit in the system. Power Automate has a usage limit of 5,000 API requests. Reading the licensing information clarifies that this doesn’t mean you can run the flow 5,000 times because the software system considers every flow action as an API request. Instead, a single flow has five actions which produces 1,000 runs per day when the per user plan is used. Power Automate also has a per flow plan that increases the usage limit to 15,000 API requests per day.
Additionally, each time an HTTP action is requested, the API requests are doubled, which can create more than you need. Presently, it’s not known whether Power Automate includes data operations or variables in the API request, but we’ll assume that they are for the purpose of this article.
If you want to see how to get a flow to run without the Parse JSON steps,
An Example of Using the Parse JSON Action to Reference a Field
In situations when you’re not using the Parse JSON step to reference a field, you’d need to first use the expressions to reference the fields outside the HTTP request actions. To refer to a single value from a single array, you can take advantage of the outputs () function. The action name is imputed between these parentheses and the value path is put between square brackets like this:
Action: Get Books API request https://www.googleapis.com/books/v1/volumes?q=isbn: ‘9780143126560’
Return body (simplified):
If you’re looking specifically for the total number of items, we’d use this format:
For deeper insight, JSON can separate the value references using a forward slash, e.g. [‘totalItems/field’].
If you want data in an arrayed format, you’ll have to use the ‘apply to each’ action. This action changes the expressions of the data, and all that’s needed is to reference either the body of the request or the JSON field that is the array. Here’s an example:
Action Get Books API request: https://www.googleapis.com/books/v1/volumes?q=isbn: ‘9780143126560’
Return body (simplified):
Finally, if you’re interested in getting the field kind, you’ll follow the steps used in the ‘apply to each’ action: outputs(‘Get_Books’)?[‘items’].
Next, you’ll use this information to return the kind for each array item: items(‘Apply_to_each’)?[‘kind’].
The action name that is placed inside the items function is the specific name of the ‘apply to each’ step. When you’re using these examples in your own system, don’t forget to replace the action name with your own.
Tap into the Expertise of JourneyTEAM
JourneyTEAM is here to help you learn the ins and outs of JSON. No matter what you’re hoping to use JSON for, our team will provide all the support you need. Connect with one of our representatives today if you have any questions regarding the information above or want to learn more about JSON.
JourneyTEAM was recently awarded