0

JSONファイルがあり、その中の変数の2番目の値の値を解析したい(このファイルJSONで値「Open」を取得したい..

{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [{"value": "New", "onclick": "CreateNewDoc()" },{"値": "開く", "onclick": "OpenDoc()"},{"値": "閉じる", "onclick": "CloseDoc()"} ] } }}

次のコードを使用して解析しましたが、エラーです:

    for(var i in itemList)
    {
    var thisItem = itemList[i];             
    var itemList1=JSON.parse(thisItem.popup);
    for(var j in itemList1)
    {
        var thisItem1=itemList1[0];
        label.text=thisItem1.value;
    }
    }   

手伝って頂けますか。!

4

1 に答える 1

2

これがjsonを解析する方法です。動作デモ: http://jsfiddle.net/epinapala/B5J5C/3/

JSON テキスト形式は、JavaScript オブジェクトを作成するためのコードと構文的に同じです。これがサーバーからの JSON 応答である場合、解析する必要はなく、オブジェクトのプロパティに直接アクセスできます。

var jsonObject = {
   "menu":{
      "id":"file",
      "value":"File",
      "popup":{
         "menuitem":[
            {
               "value":"New",
               "onclick":"CreateNewDoc()"
            },
            {
               "value":"Open",
               "onclick":"OpenDoc()"
            },
            {
               "value":"Close",
               "onclick":"CloseDoc()"
            }
         ]
      }
   }
};

alert(jsonObject.menu.popup.menuitem[1].value);

代わりに Json 文字列を扱っている場合は、JSON.parse を使用して Object を取得し、それを解析します。動作デモ: http://jsfiddle.net/epinapala/B5J5C/2/

    var jsonText = '{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"} ] } }}';

    alert(JSON.parse(jsonText).menu.popup.menuitem[1].value);

​
于 2012-06-25T02:51:34.563 に答える