JSON (JavaScript Object Notation) are widely used lightweight data-interchange format for representing structured data and exchanging information between different system.
We will use Primary and Secondary colour dataset to perform CRU operations with JSON
- Create a JSON data
Method 1: Leverage the compose to create JSON in the power automate flow. The intelligence of the compose function to associate the data type with respect to the input data is a lovely pre-built feature
{
"Pallet": {
"Pcolors": [
{
"ID": "ID01",
"color": "red",
"category": "hue",
"type": "primary",
"code": {
"rgba": [
255,
0,
0,
1
],
"hex": "#FF0"
}
},
{
"ID": "ID02",
"color": "blue",
"category": "hue",
"type": "primary",
"code": {
"rgba": [
0,
0,
255,
1
],
"hex": "#00F"
}
},
{
"ID": "ID03",
"color": "yellow",
"category": "hue",
"type": "primary",
"code": {
"rgba": [
255,
255,
0,
1
],
"hex": "#FF0"
}
}
]
}
}
the output is an array
Method 2: Leverage the Compose function and use the datatype as object and provide the input
{
"Pallet": {
"Scolors": [
{
"ID": "SID01",
"color": "green",
"category": "hue",
"type": "secondary",
"code": {
"rgba": [
0,
255,
0,
1
],
"hex": "#0F0"
}
},
{
"ID": "SID02",
"color": "orange",
"category": "hue",
"type": "secondary",
"code": {
"rgba": [
255,
165,
0,
1
],
"hex": "#ffa500"
}
}
]
}
}
2.Merging JSON
To combine two arrays or collections of values into a single array, removing any duplicates in the process we would leverage union function. The ['Pallet'] part is used to access a specific property of the from the output object (PrimCols and SecCols)
union(outputs('PrimCols')?['Pallet'],variables('SecCols')?['Pallet'])
3.Navigating JSON:
The navigation is done by the ?[‘propertyName’] string added to the source reference expression.
outputs('Merge')?['Pcolors']
4.Sorting JSON:
The command outputs('Merge')?['Pcolors'] retrieves the value of the 'Pcolors' property from the output of the 'Merge' action fro step 2. sort leverages specific attribute _color _ to sort the array
sort(outputs('Merge')?['Pcolors'],'color')
5.Navigating JSON
The first part of code retrieves the value of the 'Pcolors' property. The index [0] represents the first element in the array. ?['code']: Retrieves the value of the 'code' property from the selected object. The ? operator is used for optional chaining, which ensures that the expression doesn't throw an error if any intermediate property is null or undefined.
outputs('Merge')?['Pcolors'][0]?['code']
6.Count Objects:
The expression the length function calculates the number of objects in the array.
length(outputs('Merge')?['Scolors'])
By leveraging JSON in Power Automate, you can effectively handle data transformation, integrate with APIs, extract relevant information, and perform custom data operations, enhancing the capabilities and flexibility of your workflows.
Top comments (1)
Loving the title! Hahaha sounds super cool! Great and detailed post! Kuddos! A chef’s kiss would’ve been to frame your screenshots. I’ve created a simple OSS tool to help with this. Check it out and let me know what you think.
github.com/ekqt/screenshot
Cheers