仅在jQuery中解析JSON响应的第一个值

时间:2013-10-18 11:24:28

标签: jquery json

我正在尝试解析json

[{
        "resourceName": "Jasmine Room",
        "totalStaff": "15"            
    },
    {
        "resourceName": "Lily Room",
        "totalStaff": "15"           
    }]

我不想使用每个迭代它,只是我想要第一个resourceName值。即将到来的成功是将ajax调用的回调称为数据。

所以我尝试了这样data[0].resourceName,但它没有用。

5 个答案:

答案 0 :(得分:1)

也许您正在以文本格式接收JSON,您可以尝试将字符串解析为JSON,如此

var json = '[{"resourceName": "Jasmine Room","totalStaff": "15"},{"resourceName": "Lily Room","totalStaff": "15"}]';
console.log(json[0].resourceName); // doesn't work
json =  $.parseJSON(json);
console.log(json[0].resourceName); // work after parsing json

演示------> http://jsfiddle.net/rcvvL/1/

答案 1 :(得分:0)

我有时会这样做......

$.post("filename.ext",{
    request:"parameter",
},function(d){
    var ret = d['DATA'][0];
    if(ret != undefined){
        var resourceName = ret.resourceName;
    }
},'json');

应该有用吗?

答案 2 :(得分:0)

您应首先使用JSON.parse函数解析json。

这样的事情: var json = JSON.parse(data); return json[0].resourceName

答案 3 :(得分:0)

似乎对我来说很好。

var temp = [{
        "resourceName": "Jasmine Room",
        "totalStaff": "15"            
    },
    {
        "resourceName": "Lily Room",
        "totalStaff": "15"           
    }]
console.log(temp[0].resourceName);

是不是因为您尝试data[o]代替data[0],而不是像其中一个{{1}} 评论

答案 4 :(得分:0)

var json = [{
        "resourceName": "Jasmine Room",
        "totalStaff": "15"            
    },
    {
        "resourceName": "Lily Room",
        "totalStaff": "15"           
    }];
    alert(json[0].resourceName);

这应该有效