首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将JSON对象转换为新结构化的JSON对象的最简单方法是什么?

将JSON对象转换为新结构化的JSON对象的最简单方法是什么?
EN

Stack Overflow用户
提问于 2010-12-01 05:14:04
回答 6查看 131关注 0票数 1

我有一个JSON对象,它的结构如下:

代码语言:javascript
运行
复制
{
    "xaxis": [
        "foo",
        "bar",
        "baz"
    ],
    "yaxis": [
        333,
        992,
        1365
    ]
}

在此基础上,我想创建另一个JSON对象,结构如下:

代码语言:javascript
运行
复制
{ 
    "piegraph": [
        ["foo",333], 
        ["bar",992], 
        ["baz",1365]
    ] 
}

在客户端JavaScript中进行此转换将为我节省额外的开发和另一次服务器往返行程来获取本质上相同的数据。

如果有帮助的话,我可以使用jQuery库。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-12-01 05:26:46

假设您的第一个JSON字符串已经解析为一个对象,您只需迭代两个数组中的任何一个数组的元素,即可构建结果:

代码语言:javascript
运行
复制
var result = { piegraph: [] }; // initialize piegraph as an empty array

var l = obj.xaxis.length;
while(l--) {
  result.piegraph[l] = [ obj.xaxis[l], obj.yaxis[l] ];
}

// result will look like this:
// {"piegraph":[["foo",333],["bar",992],["baz",1365]]}

不需要库,只需要一个简单的顺序循环。;)

票数 1
EN

Stack Overflow用户

发布于 2010-12-01 05:18:34

您可以使用Functional JavaScript

代码语言:javascript
运行
复制
second = { piegraph: Functional.zip([first.xaxis, first.yaxis]) };
票数 2
EN

Stack Overflow用户

发布于 2010-12-01 05:25:01

为什么你不能只使用一个for循环呢?

代码语言:javascript
运行
复制
for(var i = 0; xaxis.length; i++){
  piegraph.push({xaxis[i], yaxis[i]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4318717

复制
相关文章

相似问题

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