处理多级json

时间:2012-01-18 12:15:03

标签: javascript jquery json

我有两个JSON对象

"field_contact_phone": {
    "el": [
        {
            "value": "+30 123455",
            "format": null,
            "safe_value": "+30 123455"
        }
    ]
}

第二

"field_contact_phone": {
    "el": [
        {
            "value": "12342352352",
            "format": null,
            "safe_value": "12342352352"
        },
        {
            "value": "5454364576547",
            "format": null,
            "safe_value": "5454364576547"
        }
    ]
}

虽然我能够用该行成功解析第二个对象

var popup = 'Τηλέφωνο: '+data.field_contact_phone.el[0].value;

当我尝试解析第一个时,我得到了那个错误

  

未捕获的TypeError:无法在file:///android_asset/www/main.js:390

读取未定义的属性'el'

1 个答案:

答案 0 :(得分:0)

您的JSON验证正确且在我身边工作。只需要用大括号包装内容(请参阅下文)

var v1={
    "field_contact_phone": {
        "el": [
            {
                "value": "+30123455",
                "format": null,
                "safe_value": "+30123455"
            }
        ]
    }
};

var v2={
    "field_contact_phone": {
        "el": [
            {
                "value": "12342352352",
                "format": null,
                "safe_value": "12342352352"
            },
            {
                "value": "5454364576547",
                "format": null,
                "safe_value": "5454364576547"
            }
        ]
    }
};
console.log(v1.field_contact_phone.el[0].value); // +30123455
console.log(v2.field_contact_phone.el[0].value); //12342352352