将 JSON 对象字符串数组转换为 JS 对象数组
Convert array of JSON object strings to array of JS objects
我想将JSON字符串数组转换为JSON对象数组,而无需循环遍历每个项目并使用JSON.parse对其进行解析。
例:
var s=[
'{"Select":"11", "PhotoCount":"12"}',
'{"Select":"21", "PhotoCount":"22"}',
'{"Select":"31", "PhotoCount":"32"}'];
如果你有一个 JSON 对象的 JS 数组:
var s=['{"Select":"11","PhotoCount":"12"}','{"Select":"21","PhotoCount":"22"}'];
并且您需要一个对象数组:
// JavaScript array of JavaScript objects
var objs = s.map(JSON.parse);
// ...or for older browsers
var objs=[];
for (var i=s.length;i--;) objs[i]=JSON.parse(s[i]);
// ...or for maximum speed:
var objs = JSON.parse('['+s.join(',')+']');
有关浏览器比较,请参阅速度测试。
如果您有单个表示对象数组的 JSON 字符串:
var s='[{"Select":"11","PhotoCount":"12"},{"Select":"21","PhotoCount":"22"}]';
并且您需要一个对象数组:
// JavaScript array of JavaScript objects
var objs = JSON.parse(s);
如果您有对象数组:
// A JavaScript array of JavaScript objects
var s = [{"Select":"11", "PhotoCount":"12"},{"Select":"21", "PhotoCount":"22"}];
...并且您需要为其提供JSON表示形式,然后:
// JSON string representing an array of objects
var json = JSON.stringify(s);
或者如果你想要一个 JSON 字符串的 JavaScript 数组,那么:
// JavaScript array of strings (that are each a JSON object)
var jsons = s.map(JSON.stringify);
// ...or for older browsers
var jsons=[];
for (var i=s.length;i--;) jsons[i]=JSON.stringify(s[i]);
var json = jQuery.parseJSON(s); //If you have jQuery.
由于注释看起来很杂乱,请在将这些方括号括在引号内后使用 parse 函数。
var s=['{"Select":"11","PhotoCount":"12"}','{"Select":"21","PhotoCount":"22"}'];
将上面的代码更改为
var s='[{"Select":"11","PhotoCount":"12"},{"Select":"21","PhotoCount":"22"}]';
例如:
$(document).ready(function() {
var s= '[{"Select":"11","PhotoCount":"12"},{"Select":"21","PhotoCount":"22"}]';
s = jQuery.parseJSON(s);
alert( s[0]["Select"] );
});
然后使用解析函数。它肯定会起作用。
编辑:非常抱歉我给了错误的函数名称。
Jquery
json API
编辑(2020年4月30日):
编辑,因为我对这个答案投了赞成票。有一个浏览器原生函数代替JQuery(对于非JQuery用户),JSON.parse("<json string here>")
如果你
真的有:
var s = ['{"Select":"11", "PhotoCount":"12"}','{"Select":"21", "PhotoCount":"22"}'];
然后简单地:
var objs = $.map(s, $.parseJSON);
这是一个演示。
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象