彼がオブジェクト内の要素を識別するのにコツをつかんだと思ったちょうどその時、私が望む値を取得できないように見えるシナリオに出くわしました。
この部分は機能し、返されるデータは正しいです。 地図があり、地図上の建物を識別しようとすると、次の json オブジェクトを受け取ります(これは読みやすくするために短縮されていますが、実際には適切にフォーマットされています)。関数 MapClick(queryResults) は、マップがクリックされると呼び出されます。
dojo.io.script.jsonp_dojoIoScript19._jsonpCallback({
"results": [
{
"layerId": 5,
"layerName": "Building",
"value": "Name of item clicked",
"displayFieldName": "name",
"attributes": {
"ID": "123",
"name": "Name of item clicked",
"Variable1": "Some bit of information",
"Variable2": "Some other bit of information",
...
...
私がやろうとしているのは、この例では「クリックされたアイテムの名前」を返す必要があるresults[0].value
ORを返すことだけです。layerId、layerName、value、および displayFieldName は「最も頻繁にアクセスされるデータ」であるため返されますが、属性内にも同じ情報が含まれています。results[0].attributes.name
私は試してみましたがconsole.log(results[1].attributes.name);
、console.log(results)
成功しませんでした。