Today we start looking at another feature from the feature list called ParseJSON. We have already seen Named Formulas and Find and Replace in our previous blog(s).
In today’s world where most of the solutions are shifting towards Restfull WebAPI’s receiving JSON responses and having a built-in parsing feature will be the cherry on the cake.
PowerApps most recent release allows us to take JSON and extract properties from untyped objects.
What is ParseJSON function?
Use the ParseJSON function to parse data in the JSON format and create untyped objects. Use the dot operator and the Index function to navigate an untyped object. Use the Table function to convert JSON arrays into tables. Use the Value, Text, and Boolean functions to restore the type of primitive data. Use the DateValue, DateTimeValue, TimeValue, ColorValue, and GUID functions to convert untyped strings into typed objects.
How to enable ParseJSON feature?
Assuming you have already created an app and you are using the latest version of PowerApps studio. Click on settings on the top bar of the screen.
You need to select Upcoming Features and select the Experimental Features option and search with “Parse” in top search bar.
You should now see the “ParseJSON” feature, just enable it.
How to use ParseJSON?
Let’s say we have a JSON payload like the below. And we will be extracting values out of it.
{"name":"John", "age":30, "car":null}
I am taking a Text Input control to put JSON body in it. Add above text in Default property of Text Input that we recently added.
Similarly, we will be adding a couple of labels and we need to add the below code in the Text property of the respective label.
Text (ParseJSON(TextInput1.Text).name)
Text (ParseJSON(TextInput1.Text).car)
So, the final output should be something like below.
We need to pass json text in ParseJSON function, as the output of name and car is Text so we need to type cast ParseJSON response to text.
Similarly, if we want to derive the age of the person our formula will be.
Value(ParseJSON(TextInput1.Text).age)
Hope this helps!
Thanks,
Keyur
Comments
Post a Comment