首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将json转换为java script数组?

如何将json转换为java script数组?
EN

Stack Overflow用户
提问于 2012-11-02 14:37:00
回答 5查看 569关注 0票数 1

我有这样的json字符串,

代码语言:javascript
运行
复制
string js=[{"Name":"Pini","ID":"111"},

{"Name":"Yaniv","ID":"123"},

{"Name":"Yoni","ID":"145"}]

我需要使用java脚本将其转换为如下格式。

代码语言:javascript
运行
复制
[['Pini',111],['Yaniv',123],['Yoni',145]]

如何使用javascript函数将json字符串转换为javascript数组?

EN

回答 5

Stack Overflow用户

发布于 2012-11-02 14:39:48

我认为应该是这样的:

代码语言:javascript
运行
复制
var ret = [];

for (var i = 0; i < js.length; i++) {
    ret.push([js[i].Name, js[i].ID]);
}

// ret holds your array of arrays

或者类似这样的东西:

代码语言:javascript
运行
复制
var ret = $.map(js, function (el, i) {
    return [[el.Name, el.ID]];
});

两者都有的一个例子:http://jsfiddle.net/RNY8M/

票数 2
EN

Stack Overflow用户

发布于 2012-11-02 14:39:39

你可以这样做

代码语言:javascript
运行
复制
var JSONObject = {"results":[{"Name":"Pini","ID":"111"},
                  {"Name":"Yaniv","ID":"123"},
                             {"Name":"Yoni","ID":"145"}]};


var Users= [];

$.each(JSONObject.results, function(i, obj)
       {
    alert(obj.Name);
    alert(obj.ID);
    Users.push([obj.Name, obj.ID]);
});​
票数 1
EN

Stack Overflow用户

发布于 2012-11-02 16:30:02

对于这种转换,我总是更喜欢使用,它是一个实用工具库(主要用于对象/数组转换)。我认为它提供了很好的功能,使生活更容易,允许javascript开发人员更有生产力的,并为结果代码实现更好的易读性

下面是带下划线(扩展)的解决方案:

代码语言:javascript
运行
复制
var js=[{"Name":"Pini","ID":"111"},  
        {"Name":"Yaniv","ID":"123"},    
        {"Name":"Yoni","ID":"145"}]

var names = _.pluck(js, 'Name');
var ids = _.pluck(js, 'ID');

var result = _.zip(names, ids)

你就会得到你想要的结果:

代码语言:javascript
运行
复制
[['Pini',111],['Yaniv',123],['Yoni',145]]

带有下划线的单行解决方案

代码语言:javascript
运行
复制
var result = _.zip(_.pluck(js, 'Name'), _.pluck(js, 'ID'))

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13190490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档