从JSON对象数组中获取键值对。

问题描述 投票:-1回答:1

热要在JavaScript键值对中获取,如果JSON文件是这样的。

 [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseerts     
 urname!"},{"field":"email","message":"Insert email"}]];

目前的解决方案是返回一个对象,比如对象对象对象对象对象等等。

代码:如果JSON文件看起来是这样的:当前的解决方案给我返回一个对象,比如Object对象,Object对象等。

 var result = jQuery.parseJSON(data);
 var json_text = JSON.stringify(result, null, null);
javascript jquery json
1个回答
2
投票

我认为你混淆了概念。一个包含JSON数据的STRING和一个包含OBJECT的OBJECT之间是有区别的,比如这个。

var json = '[[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertssurname!"},{"field":"email","message":"Insert email"}]]';

和一个包含JSON数据的OBJECT,比如这个。

var data = [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertsurname!"},{"field":"email","message":"Insert email"}]];

前者你必须要解析(比如说,你要用 JSON.parsejQuery.parseJSON)将其转化为后者,然后你可以在你的脚本中直接访问它(JSON = JavaScript Object Notation)。

你的数据是一个双嵌套的对象列表,可以像这样被访问。

console.log(data[0][1].field);
data[0].forEach(function (obj) { console.log(obj.field + ': ' + obj.message); });

(List也是对象(typeof [] === 'object')但这是一个特殊情况,请看Igor已经建议的答案)。)

如果你是用库来检索数据,你通常会得到你的数据作为一个对象准备访问,如果有疑问,可以尝试。

typeof data // 'string' or 'object' ?
© www.soinside.com 2019 - 2024. All rights reserved.