0

我正在尝试解析 json

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

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

所以我尝试了这样,data[0].resourceName但它不起作用。

4

5 回答 5

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/

于 2013-11-14T15:21:21.557 回答
0
var json = [{
        "resourceName": "Jasmine Room",
        "totalStaff": "15"            
    },
    {
        "resourceName": "Lily Room",
        "totalStaff": "15"           
    }];
    alert(json[0].resourceName);

这应该工作

于 2013-10-18T12:01:49.643 回答
0

我有时会做这样的事情...

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

应该管用?

于 2013-10-18T11:31:37.397 回答
0

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

像这样的东西: var json = JSON.parse(data); return json[0].resourceName

于 2013-10-18T11:33:19.383 回答
0

似乎对我来说工作正常。

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

是因为您在其中一条评论中尝试做data[o]而不是data[0]喜欢吗?

于 2013-10-18T11:34:56.750 回答