JSON中未定义的值

时间:2014-06-11 04:48:23

标签: javascript jquery json

我使用post方法

获得Json
                    $.post('urlhere', function (data) {
                        alert(data.Experience)
                    });

如果我尝试从JSON响应中获取一个元素,如 alert(data.Experience)。但它会显示"未定义" 。如何从以下Json获取特定节点?

获取响应,

[
    {
        "Name": null,
        "EmployeeId": 0,
        "Email": null,
        "UserName": null,
        "Password": null,
        "JobTitle": null,
        "JobID": null,
        "SkillsRequired": "Struct",
        "Experience": "2",
        "Description": null,
        "listval": null,
        "Status": null,
        "JobLocation": null,
        "JobPostedDate": "/Date(-62135596800000)/",
        "AssignJobID": null,
        "AssignJobTitle": null,
        "AssignJobHr": null,
        "AssignDateofInterview": "/Date(-62135596800000)/",
        "AssignDescription": null
    }
]

4 个答案:

答案 0 :(得分:5)

首先确保您收到的JSON是json或字符串的解析形式,如果它是一个字符串,则在从JSON.parse(data)访问它之前解析它。第二件事是你收到的data是一种数组,所以你必须指定索引来访问里面的值,这意味着JSON。

尝试,

alert(data[0].Experience);

答案 1 :(得分:2)

尝试

JSON数组第0个对象有经验.SO接受如下

alert(data[0].Experience)

DEMO

答案 2 :(得分:2)

看起来你正在收到一个json数组。首先从数组中获取所需对象,然后检索Experience。 尝试:

//index specifies the index of object inside json array
var index=0;  
alert(data[index].Experience);

答案 3 :(得分:1)

我在chrome dev工具中试过这个。

data = [
    {
        "Name": null,
        "EmployeeId": 0,
        "Email": null,
        "UserName": null,
        "Password": null,
        "JobTitle": null,
        "JobID": null,
        "SkillsRequired": "Struct",
        "Experience": "2",
        "Description": null,
        "listval": null,
        "Status": null,
        "JobLocation": null,
        "JobPostedDate": "/Date(-62135596800000)/",
        "AssignJobID": null,
        "AssignJobTitle": null,
        "AssignJobHr": null,
        "AssignDateofInterview": "/Date(-62135596800000)/",
        "AssignDescription": null
    }
]

正在使用这个:

data[0].Experience