javascript中的对象需要从数组中获取数据
似乎ajax调用正在将数据拉回到其中 数据如下所示:javascript中的对象需要从数组中获取数据,javascript,jquery,json,Javascript,Jquery,Json,似乎ajax调用正在将数据拉回到其中 数据如下所示: Object {oms_tcall_k: 336501, locatn_k: 0, folderowner: "bdmiller", tc_type: null, tc_date: null} 我想把事物的值存储到变量中 var myfolderowner=data.folderowner(值为“bdmiller”) 但是,在获取数据时,我得到了未定义的 我正在做一个JSON.stringify data: data ? JSON.stri
Object {oms_tcall_k: 336501, locatn_k: 0, folderowner: "bdmiller", tc_type: null, tc_date: null}
我想把事物的值存储到变量中
var myfolderowner=data.folderowner(值为“bdmiller”)
但是,在获取数据时,我得到了未定义的
我正在做一个JSON.stringify
data: data ? JSON.stringify(data) : null
此数据的格式是否不正确数据[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
如果您实际执行了JSON.stringify(数据),那么数据将是一个字符串,这是没有意义的
根据您的发现,数据是一个数组,您想要的实际数据对象位于该数组的第一个元素中。因此,在数据调用之前,要么修复为数据服务的后端,要么(恶意地)修复data=data[0]。JSON.stringfy实际上会将其从对象更改为字符串。因此,字符串化版本将如下所示:
'{"oms_tcall_k": "336501", "locatn_k": "0", "folderowner": "bdmiller", "tc_type": "null", "tc_date": "null"}'
var folderOwner = data["folderowner"]; //Should return "bdmiller"
这就是为什么在执行数据[0]时,它会返回整个字符串。如果要访问对象,我不会对数据进行字符串化。然后您应该能够获得如下值:
'{"oms_tcall_k": "336501", "locatn_k": "0", "folderowner": "bdmiller", "tc_type": "null", "tc_date": "null"}'
var folderOwner = data["folderowner"]; //Should return "bdmiller"
您应该使用
parse
将字符串转换为JSON,而不是stringify
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(文本);
console.log(data.oms\u tcall\u k)
您可以尝试记录这个吗<代码>控制台.log(数据[0].folderowner)代码>确定,工作正常console.log(数据[0].folderowner)代码>但是为什么这不起作用console.log(data.folderowner)代码>看起来数据是一个数组。您的对象是数组的第一个(也是唯一一个)元素,因此数据[0]Ya,我改变了Web Api调用的方式,服务器使用“return Ok(troubleCallModels);”回吐数据哪个是返回给meDid的IHttpActionResult
,请删除Json.stringfy(数据)并重试?如果它是一个字符串,那么“是”将是未定义的。更改-数据:数据?stringify(data):null到-data:data?data:Null看起来是相同的data:data
和data?parse(data):null
和数据?JSON.stringify(data):null
看起来都一样console.log(data)看起来像什么3???[Object]0:Object folderowner:“bdmiller”locatn_k:0 oms_tcall_k:336501 tc_date:null tc_type:null proto:Object length:1 proto:Array[0]所以它看起来像是一个数组,其中[0]数据点是对象。您应该可以这样访问它:var folderOwnder=data[0][“folderowner”];相同的结果我看到了JSON.parse(数据)和JSON.stringify(数据)以及普通数据看起来都一样,一定是数据的格式吗?代码片段没有改变它,加上它是:没有=