javascript – 将JSON对象字符串数组转换为JS对象数组

我想将JSON String数组转换为JSON对象数组,而不用循环遍历每个项目,并使用JSON.parse进行解析.

例:

var s=[
  '{"Select":"11", "PhotoCount":"12"}',
  '{"Select":"21", "PhotoCount":"22"}',
  '{"Select":"31", "PhotoCount":"32"}'];
最佳答案
如果你有一个JS数组的JSON对象:

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(',')+']');

参见the speed tests浏览器比较.

如果您有一个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数组的JSON字符串,那么:

// 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]);

转载注明原文:javascript – 将JSON对象字符串数组转换为JS对象数组 - 代码日志