web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Extract Data from Pars...
Power Automate
Answered

Extract Data from Parse JSON

(0) ShareShare
ReportReport
Posted on by
Hi I'm pulling through data from Business Central to the Parse JSON the adaptive card. I have an output of the below. I'm trying to extract the Order number information but having some serious issues trying various expressions as they are all coming back with errors or the wrong data.
 
This is the output of the Parse JSON, highlighted the order number that I was extracting as a dynamic value:
 
{"type":"AdaptiveCard","version":"1.3","body":[{"type":"TextBlock","size":"large","weight":"bolder","text":"Posted Purchase Receipt"},{"type":"FactSet","facts":[{"title":"Buy-from Vendor No.:","value":"D C 01"},{"title":"No.:","value":"107411"},{"title":"Pay-to Vendor No.:","value":"D C 01"},{"title":"Posting Date:","value":"02/14/25"},{"title":"Posting Description:","value":"Order 106210"}]}],"actions":[{"type":"(hidden url for privacy reasons)","title":"Open"}]}
 
Any suggestions are welcome!
 
 
Screenshot 2025-03-05 102112.png
Categories:
I have the same question (0)
  • Verified answer
    David_MA Profile Picture
    14,624 Super User 2026 Season 1 on at
    You may need to tweak this since I did this with the data you provided.
    1. Run the JSON through a compose action named "Compose JSON".
    2. Use a Parse JSON action on the output of the compose action.
    3. Add another Compose action and enter this expression: body('Parse_JSON')?['body'][1]?['facts']
      1. This gets the values from the facts array.
    4. Add a Filter array action configured to the output of the second compose action and set it to filter to title contains Posting Description. If you put it in advanced mode, you can use this expression: @contains(item()?['title'], 'Posting Description')
    5.  Add a third compose action and extract the value from the filter with this expression: first(body('Filter_array'))?['value']
    The flow will look like this:
    It returns;
  • Verified answer
    Michael E. Gernaey Profile Picture
    53,963 Moderator on at
    Ugg it deleted my post
     
    Anyway, the other posters works. also, here is how you can do it in a single expression
    split(split(string(variables('SampleJSONToGetOrder')),'"value":"Order ')[1], '"}]}]')[0] 
    The above expressions does the following to return your Order # (not the word Order then #
     
    1. turns your object/array from your card into a String
    2. Splits the string by '"value":"Order ' 
    which then turns the output into a 2 item array, we want the second part not the first, which is why I add [1] right after to point at the second item since arrays start at 0
     
    3. Now I want to split that string, which looks like this
    106210"}]}],"actions":[{"type":"(hidden url for privacy reasons)","title":"Open"}]}
     
    and splits that by '"}]}]' which comes right after your number.
     
    The result is you get just the number.
     
    So you only need to add a single compose to grab the number
     
    My total flow
     
     
     
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Vish WR Profile Picture

Vish WR 791

#2
Valantis Profile Picture

Valantis 568

#3
Haque Profile Picture

Haque 535

Last 30 days Overall leaderboard