Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的对象需要从数组中获取数据_Javascript_Jquery_Json - Fatal编程技术网

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

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

似乎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.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(数据)以及普通数据看起来都一样,一定是数据的格式吗?代码片段没有改变它,加上它是:没有=