Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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
json中的javascript数组_Javascript_Arrays_Json - Fatal编程技术网

json中的javascript数组

json中的javascript数组,javascript,arrays,json,Javascript,Arrays,Json,我在名为response的变量中有以下JSON值 {rsuccess:true,errorMessage:,ec:null,responseList:[{id:2,description:user1},{id:1,description:user2}]} 但它给了我错误 [Error]TypeError:undefined不是评估“users.length”的对象。未定义的变量不是对象,因此不能具有诸如length之类的属性 您尚未将JSON转换为对象 按以下步骤进行: var obj=eval

我在名为response的变量中有以下JSON值

{rsuccess:true,errorMessage:,ec:null,responseList:[{id:2,description:user1},{id:1,description:user2}]}

但它给了我错误

[Error]TypeError:undefined不是评估“users.length”的对象。

未定义的变量不是对象,因此不能具有诸如length之类的属性

您尚未将JSON转换为对象

按以下步骤进行:

var obj=eval+json+

eval执行代码并创建本机JavaScript对象

然而,很多人批评eval处理未经认可的输入

最好是使用本机JavaScript函数:JSON.parsejsonString;,这是专门为这个目的而做的——解析JSON并使其成为一个对象

从回调中得到响应后,您需要将JSON字符串解析为object…使用

JSON.parse(response);

如果您没有注意到,这一行有语法错误

[{"id":2,"description":"user1"},{"id":1,"description”:"user2"}]}
双引号在描述标识符周围未正确闭合。请将其更改为:

{"id":1,"description":"user2"}

然后它就可以正常工作了

当您运行此代码时,它告诉您什么:console.logtypeof response?您确定变量包含该值吗?您是否在尝试测量用户长度的行之前立即打印?通常,这种事情有异步性错误的味道,在变量收到其值之前读取变量。在我们真正看到代码之前,我们不确定它是否正确……请查看我的答案,它应该会回答您的问题@raheem52。首先检查您是否可以在用户中获取数组?`控制台,logusers`@dfsq console.logtypeof response给我object@Rakesh_Kumarvar advs1=JSON.parseresponse;给出JSON分析错误:意外标识符object@raheem52这意味着响应的类型为object!。。那样的话response.responseList.length必须返回2,除非响应没有responseList。。如果可能的话,您能分享您正在发出返回JSON对象的ajax请求的链接吗?为什么我的答案被否决了?在你之前,我和你说了同样的话,但是说得更清楚。
{"id":1,"description":"user2"}