Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 从对象的JSON数组中获取键值对_Javascript_Jquery_Json - Fatal编程技术网

Javascript 从对象的JSON数组中获取键值对

Javascript 从对象的JSON数组中获取键值对,javascript,jquery,json,Javascript,Jquery,Json,如果JSON文件如下所示,则很难获得JavaScript键值对: [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseerts urname!"},{"field":"email","message":"Insert email"}]]; 当前解决方案会返回一个对象,如对象等 代码: 我认为你混淆了这些概念。包含JSON数据的字符串之间存在差异,例如: var json = '

如果JSON文件如下所示,则很难获得JavaScript键值对:

 [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseerts     
 urname!"},{"field":"email","message":"Insert email"}]];
当前解决方案会返回一个对象,如对象等

代码:


我认为你混淆了这些概念。包含JSON数据的字符串之间存在差异,例如:

var json = '[[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertssurname!"},{"field":"email","message":"Insert email"}]]';
var data = [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertsurname!"},{"field":"email","message":"Insert email"}]];
以及包含JSON数据的对象,例如:

var json = '[[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertssurname!"},{"field":"email","message":"Insert email"}]]';
var data = [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertsurname!"},{"field":"email","message":"Insert email"}]];
您必须解析前者(例如使用
JSON.parse
jQuery.parseJSON
),然后将其转换为后者,您可以在脚本中直接访问后者(JSON=JavaScript对象表示法)

您的数据是一个双重嵌套的对象列表,可以这样访问:

console.log(data[0][1].field);
data[0].forEach(function (obj) { console.log(obj.field + ': ' + obj.message); });
(列表也是对象(
typeof[]==“object”
),但有一个特殊情况,请参见Igor已经建议的答案)

如果使用库检索数据,通常会将数据作为对象准备好访问,如果有疑问,请尝试:

typeof data // 'string' or 'object' ?

可能重复您提供的JSON有问题,是您编写的还是只是复制粘贴的,因为您在“插入电子邮件”后立即丢失了一个引用。我复制错误,我已经准备好修复问题!我的意思是我已经解决了这个问题,但我仍然没有任何解决问题的办法。