来自javascript的对象需要从数组中获取数据

时间:2015-10-07 22:35:45

标签: javascript jquery json

似乎ajax调用正在拉回数据

数据如下所示:

Object {oms_tcall_k: 336501, locatn_k: 0, folderowner: "bdmiller", tc_type: null, tc_date: null}

我希望将事物的商店价值变为变量

var myfolderowner = data.folderowner(value is“bdmiller”)

但是,我在获取数据时未定义

我正在做 JSON.stringify

data: data ? JSON.stringify(data) : null

这些数据格式不正确吗? data [0]可以显示全部

console.log(data.folderowner);  //undefined
console.log(data["folderowner"]); //undefined
console.log(data["FOLDEROWNER"]); //undefined
console.log(data[0]);  //Object {oms_tcall_k: 336501, locatn_k: 0, folderowner: "bdmiller", tc_type: null, tc_date: null}
console.log(data[0][0]); //undefined

3 个答案:

答案 0 :(得分:2)

您应该使用stringify将字符串转换为JSON

,而不是parse
data =  data ? JSON.parse(data) : null

var text = '{"oms_tcall_k": 336501, "locatn_k": 0, "folderowner": "bdmiller", "tc_type": null, "tc_date": null}';

var data = JSON.parse(text);
console.log(data.oms_tcall_k)

答案 1 :(得分:1)

如果你实际上做了JSON.stringify(数据),那么数据将是一个字符串,这是没有意义的。

根据您的发现,数据是一个数组,您想要的实际数据对象位于该数组的第一个元素中。因此,要么在数据调用之前修复后端服务数据,要么(hackily),data = data [0] ......

答案 2 :(得分:1)

JSON.stringfy实际上会将它从一个对象更改为一个字符串。因此,字符串化版本将如下所示:

'{"oms_tcall_k": "336501", "locatn_k": "0", "folderowner": "bdmiller", "tc_type": "null", "tc_date": "null"}'

这就是为什么当你做数据[0]时它会返回整个字符串。如果你想访问该对象,我不会对数据进行stringfy。然后你应该能够得到这样的价值:

var folderOwner = data["folderowner"]; //Should return "bdmiller"