If you’ve worked with Power Apps and Power Automate for even a short time, you’ve probably run into JSON. And honestly, the first time I saw JSON in Power Apps, it felt confusing.
But once I understood how to work with it, it became one of the most powerful tools in my apps.
In this guide, I’ll walk you through how to parse JSON in Power Apps step by step, starting from very basic examples and moving toward real-world scenarios like:
- Reading JSON strings
- Accessing nested values
- Converting JSON into collections
- Handling arrays
- Getting data from Power Automate and converting it into usable tables
What is JSON?
JSON (JavaScript Object Notation) is just a structured way to store data.
{
"Name": "John",
"Age": 30,
"Department": "HR"
}
Think of it like a record in Power Apps.
Important Function You’ll Use
This is the main function we use.
ParseJSON(jsonString)
It converts JSON text into a Power Apps object.
Parse JSON in Power Apps
Let’s discuss some practical examples of working with Parse JSON in Power Apps.
Example 1: Parse a Simple JSON Object in Power Apps
Here is the sample JSON:
{
"Name": "Jessica",
"Role": "Developer"
}
In Power Apps, add that json string into the ParseJson() function and store that in a global variable using the Power Apps Set() function.
Set(varJSON, ParseJSON("{""Name"":""Jessica"",""Role"":""Developer""}"))
Access values:
Text(varJSON.Name)
Text(varJSON.Role)
Important: Always wrap string values within Text() when displaying.

Example 2: Working with Numbers in Power Apps
JSON:
{
"Salary": 50000
}
Power Apps Code:
Set(varJSON, ParseJSON("{""Salary"":50000}"))
Access:
Value(varJSON.Salary)
Use Power Apps Value() for numbers.

Example 3: Working with Boolean Values in Power Apps
Here is the JSON that contains Boolean values:
{
"IsActive": true
}
Power Apps Code:
Set(varJSON, ParseJSON("{""IsActive"":true}"))
Access the boolen value in Power Apps:
Boolean(varJSON.IsActive)

Example 4: Working with Nested JSON in Power Apps (Very Important)
JSON:
{
"Employee": {
"Name": "David",
"Department": "IT"
}
}
Power Apps Code:
Set(varJSON, ParseJSON("{""Employee"":{""Name"":""David"",""Department"":""IT""}}"))
Access:
Text(varJSON.Employee.Name)
Text(varJSON.Employee.Department)

This is super common in real apps.
Example 5: JSON Array (List of Records) in Power Apps
JSON:
[
{"Name": "A", "Age": 25},
{"Name": "B", "Age": 30}
]
Power Apps Code:
Set(varJSON, ParseJSON("[{""Name"":""A"",""Age"":25},{""Name"":""B"",""Age"":30}]"))
Convert to Power Apps Collection:
Set(varJSON, ParseJSON("[{""Name"":""A"",""Age"":25},{""Name"":""B"",""Age"":30}]"));
ClearCollect(
colEmployees,
ForAll(
varJSON,
{
Name: Text(ThisRecord.Name),
Age: Value(ThisRecord.Age)
}
)
)
Key concept:
ThisRecordis required when looping JSON arrays.

Example 6: Display JSON Data in Power Apps Gallery
After Example 5:
Set the Power Apps Gallery Items property with the below collection name:
colEmployees
Inside Gallery:
- Label 1 →
ThisItem.Name - Label 2 →
ThisItem.Age
Now you’ve converted JSON into UI-ready data.

Example 7: Parse Complex Nested Array JSON in Power Apps
JSON:
{
"Employees": [
{"Name": "A", "Skills": ["Power Apps", "Power Automate"]},
{"Name": "B", "Skills": ["SharePoint"]}
]
}
Power Apps Code:
Set(varJSON, ParseJSON("{""Employees"":[{""Name"":""A"",""Skills"":[""Power Apps"",""Power Automate""]},{""Name"":""B"",""Skills"":[""SharePoint""]}]}"))
Convert JSON into Power Apps Collection:
ClearCollect(
colEmployees,
ForAll(
varJSON.Employees,
{
Name: Text(ThisRecord.Name),
Skills: Concat(
ForAll(
ThisRecord.Skills,ThisRecord
),
Value,
", "
)
}
)
)
The Power Apps Concat() function is useful for arrays inside arrays.

Example 8: Parse JSON from Power Automate (Most Important)
This is what most people struggle with.
- Create a Power Automate Flow that returns JSON like this:
[
{
"Title": "Task 1",
"Status": "Completed"
},
{
"Title": "Task 2",
"Status": "Pending"
}
]
Use the Respond to Power Apps action and pass it as text.
- Call Flow in Power Apps
Set(varResponse, YourFlow.Run())
- Parse JSON
Set(varParsed, ParseJSON(varResponse))
- Convert to Collection
ClearCollect(
colTasks,
ForAll(
varParsed,
{
Title: Text(ThisRecord.Value.Title),
Status: Text(ThisRecord.Value.Status)
}
)
)
This is the real-world scenario you’ll use daily.
Example 9: JSON with Null Values in Power Apps
JSON:
{
"Name": "John",
"Manager": null
}
Handle Safely:
If(
IsBlank(varJSON.Manager),
"No Manager",
Text(varJSON.Manager)
)
Always handle nulls to avoid errors.

Example 10: Dynamic JSON (Unknown Structure)
Sometimes you don’t know the schema.
Trick:
Set(varJSON, ParseJSON(yourJsonString))
Then inspect using:
JSON(varJSON)
This helps debug the structure.

Best Practices (Very Important for Real Apps)
Here’s what I personally follow:
1. Always Convert Types Properly
- Text →
Text() - Number →
Value() - Boolean →
Boolean()
2. Use Collections for UI
Don’t bind raw JSON directly. Always convert to:
ClearCollect()
3. Keep JSON Clean in Power Automate
- Avoid deeply nested structures
- Flatten data when possible
4. Use Meaningful Column Names
Instead of:
{ "col1": "value" }
Use:
{ "EmployeeName": "John" }
5. Debug Smartly
Use:
JSON(variable)
to understand structure.
Common Mistakes (I made these too)
- Forgetting
Text()→ shows blank values - Not using
ThisRecord.Valueinside arrays - Passing complex objects directly from Flow
- Not handling null values
- Trying to bind JSON directly to the gallery
Final Thoughts
Parsing JSON in Power Apps feels tricky at first, but once you understand:
- ParseJSON()
- ForAll()
- ThisRecord.Value
- ClearCollect()
…everything starts to click.
If you’re building apps with Power Automate, this is a must-have skill.
Also, you may like:
- Power Apps CountRows Function [Including the Delegation Fix]
- Power Apps Dropdown Show Only Unique Values
- Power Apps First Function
- Power Apps Remove Function
- 51 Power Apps Interview Questions and Answers For Experienced Developers

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.