Skip to main content

Notifications

Power Automate - General Discussion
Answered

Parse JSON Help

(0) ShareShare
ReportReport
Posted on by

Hello, 

I'm trying to pull an array out of a JSON response and not having any luck. 
Can someone see what I'm missing?

Trigger: Button

Action1: HTTP Request

Action2: Parse JSON

  • I'm able to access all parameters just fine EXCEPT for the latitude and longitude "locked up" in the geometry/coordinates array:
  • {
     "type": "FeatureCollection",
     "metadata": {
     "generated": 1557358894000,
     "url": "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2019-05-07T00%3a00%3a00.0000000&endtime=5%2f8%2f2019&latitude=39.0422528&longitude=-95.6719104&maxradiuskm=1000&orderby=magnitude-asc",
     "title": "USGS Earthquakes",
     "status": 200,
     "api": "1.8.1",
     "count": 1
     },
     "features": [
     {
     "type": "Feature",
     "properties": {
     "mag": 2.9,
     "place": "16km N of Snyder, Texas",
     "time": 1557260837307,
     "updated": 1557331308692,
     "tz": -360,
     "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us70003i1i",
     "detail": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us70003i1i&format=geojson",
     "felt": 1,
     "cdi": 2.7,
     "mmi": null,
     "alert": null,
     "status": "reviewed",
     "tsunami": 0,
     "sig": 130,
     "net": "us",
     "code": "70003i1i",
     "ids": ",us70003i1i,",
     "sources": ",us,",
     "types": ",dyfi,geoserve,origin,phase-data,",
     "nst": null,
     "dmin": 0.028,
     "rms": 0.48,
     "gap": 36,
     "magType": "mb_lg",
     "type": "earthquake",
     "title": "M 2.9 - 16km N of Snyder, Texas"
     },
     "geometry": {
     "type": "Point",
     "coordinates": [
     -100.9142,
     32.8648,
     1.96
     ]
     },
     "id": "us70003i1i"
     }
     ]
    }
  • See how the latitude and longitude are not labeled in a "key" : "value" pair? 

I've tried a BUNCH of split() expressions and Select Actions to try and coerce them out. The best I can do is a Select Action where I get [ -100.9142, 32.8648, 1.96 ] as a single value. 

Ideally I want:

longitude: -100.9142
latitude: 32.8648
depth: 1.96

Ideas? 

Thank you!

  • Re: Parse JSON Help

    !~Wow @v-bacao-msft~!

     

    Thank you. Your solution worked perfectly. Can you point me to documentation where I could learn about how to "..get the element value by index"? 

     

    I see you're using [0], [1], [2] to access the index. I'd like to study this type of thing so I can learn more. 

     

    Take care

  • Verified answer
    v-bacao-msft Profile Picture
    v-bacao-msft on at
    Re: Parse JSON Help

    Hi @ericonline ,

     

    Since coordinates is an array, it seems that we can get the element value by index.

    If the element values in coordinate of JSON response are in the order of [longitude, latitude, depth], please refer to the following method to get the element value.

    First use Parse JSON action to separate the part containing the coordinates property, and then get the element value by the following expression.

    longitude:

    items('Apply_to_each')['geometry']['coordinates'][0]

    latitude:

    items('Apply_to_each')['geometry']['coordinates'][1]

    depth:

    items('Apply_to_each')['geometry']['coordinates'][2]

    Image reference:

    12.PNG

    Hope it helps.

     

    Best Regards,

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

Microsoft Kickstarter Events…

Register for Microsoft Kickstarter Events…

Announcing Our 2025 Season 1 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Announcing Forum Attachment Improvements!

We're excited to announce that attachments for replies in forums and improved…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 145,508

#2
RandyHayes Profile Picture

RandyHayes 76,287

#3
Pstork1 Profile Picture

Pstork1 64,839

Leaderboard