エラー:キャッチされていないTypeError:未定義のプロパティ 'city'を読み取ることができません。JavaScriptのオブジェクトキーにダッシュを含めるにはどうすればよいですか?

user10481445

jsonファイルを使おうとしています。このコードは私のコードで問題なく動作します

 console.log(resp);

これはコンソールの結果です

{Result: {…}}
Result:
Code: "00"
city: Array(18)
0: {cityname: "강원도", citycount: "146"}
1: {cityname: "경기도", citycount: "1055"}
2: {cityname: "경상남도", citycount: "303"}

しかし、これは機能しません

  console.log(itemNm2);
  console.log(dataV);

そして、これはエラーです!

Uncaught TypeError:未定義のプロパティ 'city'を読み取ることができません

また、元のコードには、「city-name」、「city-count」のような変数があります。

しかし、それはうまくいきませんでした。ダッシュのせいだと思いますか?そこでダッシュを削除しました。

どうすればこの問題を解決できますか?ありがとう!

これは私のコード全体です:

$.ajax({
    url: 'js/map.json',
    type: 'GET',
    dataType: 'json',
    success: function (resp) {
        console.log(resp);
        var options = {
            toolTip : {
                use : {
                    local : true
                },
                className : 'tip',
                position : {
                    x : 0,
                    y : -10
                }
            },
            data: {
                data: [
                    {locname: '', listshrs: ''}
                ],
        localOption: 'locname',
        use : 'listshrs'
            }
        };
        var rows = resp.Result[1].City;
        if (rows) {
            var representativeRow;
            for (i = 0; i < 2; i++) {
                representativeRow = rows[i];
                itemNm2 = representativeRow.cityname;
                dataV = representativeRow.citycount;
                console.log(itemNm2);
                console.log(dataV);
                options.data.data.push({locname: itemNm2, listshrs: dataV});
            }


            korea = webponent.visual.korea.init($(".korea"), style, options);

        }


    }, error: function (xhr, status, error) {
        alert("err")
    }
});

これはjsonの例です!

{
  "Result": {
    "Code": "00",
    "City": [
      {
        "city-name": "강원도",
        "city-count": "146"
      },
      {
        "city-name": "경기도",
        "city-count": "1055"
      }
    ]
  }
}
Pierre-Loup Pagniez

JSONの例とコードからわかるように、アクセスしようとしていますresp.Result[1].Cityresp.Result、配列ではありません。の代わりに :

var rows = resp.Result[1].City;

あなたはこれをしなければなりません:

var rows = resp.Result.City;

また、JSONオブジェクトでダッシュを使用する必要がある場合は、CharisTheoの回答を参照してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ