Select to view content in your preferred language

Hierarchy - Nested JSON objects

187
3
10-03-2024 07:34 AM
MarGIS
by
Regular Contributor

Hello everyone,

I am trying to ingest data through ArcGIS GeoEvent server from a web endpoint. I have some troubles and cannot parse the geometry in the data. I am trying to use an input connector (Poll an External Website for JSON). I am not sure how to use JSON Object Name in the connector. As per the documentation of GeoEvent server it is defined as "The name of a JSON element that can be used as the root node of a substructure within the received JSON data. When JSON Object Name is used to specify a JSON element by name, the adapter will search for substructures whose object name matches the specified element name. Only data within the identified substructure will be considered. When left blank, which is the default, the uppermost JSON object is used as the root of the entire JSON structure". When I leave the JSON Object Name empty the, all the data ingested but cannot extract the geometry and when I specify the JSON Object Name with "location" (this is the direct root of the geometry) the connector ingest only the geometry and do not ingest all of the data.

I visited this handy article, but I feel that I'm lost in the middle and cannot find my way to parse the geometry.

https://community.esri.com/t5/arcgis-geoevent-server-blog/json-data-structures-working-with-hierarch...

Any help would be highly appreciated.
Thanks.

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍geoevent-nested-object.png

Tags (3)
3 Replies
GaryLSheppardJr
Occasional Contributor

In the dialog for creating the Poll an External Website for JSON input, click Advanced to display several additional parameters. Set Construct Geometry From Fields to Yes. Then set X Geometry Field and Y Geometry Field, as well as Z Geometry Field if you have it.

You say your geometry is in a JSON object named location. I assume that means your JSON looks something like this:

{
  "id": 31313,
  "name": "Foo",
  "location": {
    "theXValue": -101.01,
    "theYValue": 41.414
  }
}

Then you would set X Geometry Field to location.theXValue and Y Geometry Field to location.theYValue.

Be sure to set Default Spatial Reference as well. That's typically 4326 (WGS 1984 longitude/latitude).

Gene_Sipes
Regular Contributor

Please provide your JSON response so that we can see what its structure looks like.  

 

 

 

0 Kudos
Clayton-Cooley
Occasional Contributor

Have you had any luck with this? I'm experience the same thing. I even came across the same article, but I'm still not sure what I'm doing wrong.

0 Kudos