Viac

Javscript API esri/dijit/search JSON Response


Dobrý deň, chlapci, mám problém s analyzovaním vrátených údajov JSON z dijitového vyhľadávania. Mám nasledujúci kód, kde s.set ("hodnota", "48035") bude vyplnený z inej stránky, takže som ho zatiaľ ručne nastavil na 48035.

var s = new Search ({enableButtonMode: true, // this allows the search widget to display as a single button enableLabel: false, enableInfoWindow: true, showInfoWindowOnSelect: false, map: map}, "search"); s.set ("hodnota", "48035"); // vyskúšali nasledujúce s.search (). then (function (response) {var extra = response [0] [0] .x alert (extra)}); // a nasledujúce s.search (). then (funkcia (odpoveď) {var extra = response.candidates [0] .location alert (extra.x)}); s spustenie ();

Zdá sa, že bez ohľadu na to, čo skúšam alebo robím, nemôžem prísť na to, ako získať vrátenú hodnotu x. Takto vyzerajú vrátené údaje JSON.

{"spatialReference": {"wkid": 4326, "latestWkid": 4326}, "candidate": [{"address": "48035, Clinton Township, Michigan", "location": {"x":-82.9172080701955, "y": 42.554260928999781}, "skóre": 100, "atribúty": {"Addr_type": "Postal", "Match_addr": "48035, Clinton Township, Michigan", "StAddr": "", "Mesto": "Clinton Township"}, "rozsah": {"xmin":-82,922208999999995, "ymin": 42,54926100000000001, "xmax":-82,912209000000004, "ymax": 42,55926099999999999}}}]}}

Mali by ste importovať modul json z Dojo. Umožní vám to vytvoriť objekt JavaScript z vášho návratového JSONu a robiť si s ním, čo chcete.

Ak teda chcete vytvoriť objekt Geometry, môžete vrátený JSON analyzovať pomocou príponyjsonmodul, získajte svoj objekt JavaScript a vytvorte ho z vlastností odvodeného objektu JavaScript.

Povedzme, že je váš objekt pomenovanývrátiťJSONa chcete vytvoriť súborBodod toho.

var returnJSON = JSON.parse (response.candidates [0]); var x = returnJSON.location.x; var y = returnJSON.location.y; // potom vytvorte bod alebo čokoľvek, čo chcete urobiť