0

我有一个 JSON 文件,想要解析其中的变量第二个值的值(我想在这个文件 JSON 中获取值“Open”..

{“菜单”:{“id”:“文件”,“值”:“文件”,“弹出”:{“菜单”:[{“值”:“新建”,“onclick”:“CreateNewDoc()” },{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "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 回答