0

彼がオブジェクト内の要素を識別するのにコツをつかんだと思ったちょうどその時、私が望む値を取得できないように見えるシナリオに出くわしました。

この部分は機能し、返されるデータは正しいです。 地図があり、地図上の建物を識別しようとすると、次の 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].valueORを返すことだけです。layerId、layerName、value、および displayFieldName は「最も頻繁にアクセスされるデータ」であるため返されますが、属性内にも同じ情報が含まれています。results[0].attributes.name

私は試してみましたがconsole.log(results[1].attributes.name);console.log(results)成功しませんでした。

4

1 に答える 1

0

MapClicked is queryResults を処理する関数の名前が必要だったので、正しい答えは次のとおりです。 queryResults[0].value開き括弧 が表示された場合、いくつかの数字[が必要になると確信できます(例: or 。または、少なくともこれは正しいステートメントだと思います)。 .[]queryResults[0].valuequeryResults[99].someothervariable

于 2014-02-24T17:49:32.093 に答える