将JSON对象字符串数组转换为JS对象数组 [英] Convert array of JSON object strings to array of JS objects

查看:151
本文介绍了将JSON对象字符串数组转换为JS对象数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to convert an array of JSON String to array of JSON object without looping through each item and parse it using JSON.parse.

示例:

var s=[
  '{"Select":"11", "PhotoCount":"12"}',
  '{"Select":"21", "PhotoCount":"22"}',
  '{"Select":"31", "PhotoCount":"32"}'];


推荐答案

如果你有一个JSON对象的JS数组:

If you have a JS array of JSON objects:

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字符串表示一个对象数组:

If you have a single JSON string representing an array of objects:

var s='[{"Select":"11","PhotoCount":"12"},{"Select":"21","PhotoCount":"22"}]';

你想要一个对象数组:

// JavaScript array of JavaScript objects
var objs = JSON.parse(s);






如果你有一个对象数组:


If you have an array of objects:

// A JavaScript array of JavaScript objects
var s = [{"Select":"11", "PhotoCount":"12"},{"Select":"21", "PhotoCount":"22"}];

…你需要JSON表示,然后:

…and you want JSON representation for it, then:

// JSON string representing an array of objects
var json = JSON.stringify(s);

…或者如果你想要一个JSON字符串的JavaScript数组,那么:

…or if you want a JavaScript array of JSON strings, then:

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

这篇关于将JSON对象字符串数组转换为JS对象数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆