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
{ "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" } ] }
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!
!~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
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:
Hope it helps.
Best Regards,