1. ホーム
  2. jquery

JSONオブジェクトの名前/値にアクセスする方法は?

2023-10-09 04:40:10

質問

function (data) {
    //add values based on activity type
    //data = JSON.parse(data);
    //alert(abc.Phone1);

    alert(data.myName)

    alert(data.toString());
    if (activityType == "Phone") {
    }
    return;

},

このコールバック関数は $.ajax を取る JSON のデータをコントローラから取得します。

例えば

[{"name":"myName" ,"address": "myAddress" }]

この場合、最初のアラートでundefinedが表示され、2番目/3番目のアラートでポップアップが表示されます。

[{"name":"myName" ,"address": "myAddress" }]

どのようにしたら名前で値にアクセスできますか? myName の値である name ?

どのように解決するのですか?

JSONをパースする代わりに、以下のようにすることができます。

$.ajax({
  ..
  dataType: 'json' // using json, jquery will make parse for  you
});

JSONのプロパティにアクセスするには、次のようにします。

data[0].name;

data[0].address;


必要な理由 data[0] データは配列なので、その内容を取得するために data[0] (最初の要素) が必要で、これによってオブジェクト {"name":"myName" ,"address": "myAddress" } .

そして、オブジェクトのプロパティにアクセスするルールは

Object.property

または時々

Object["property"] // in some case

ということで、必要なのは

data[0].name といった具合に、欲しいものを手に入れるために


もし、あなたが

セット dataType: json を指定した場合、それらを解析するために $.parseJSON() を使って解析し、上記のようにデータを取得します。