我有一个JSON对象,它的结构如下:
{
"xaxis": [
"foo",
"bar",
"baz"
],
"yaxis": [
333,
992,
1365
]
}
在此基础上,我想创建另一个JSON对象,结构如下:
{
"piegraph": [
["foo",333],
["bar",992],
["baz",1365]
]
}
在客户端JavaScript中进行此转换将为我节省额外的开发和另一次服务器往返行程来获取本质上相同的数据。
如果有帮助的话,我可以使用jQuery库。
发布于 2010-12-01 05:26:46
假设您的第一个JSON字符串已经解析为一个对象,您只需迭代两个数组中的任何一个数组的元素,即可构建结果:
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]]}
不需要库,只需要一个简单的顺序循环。;)
发布于 2010-12-01 05:18:34
您可以使用Functional JavaScript
second = { piegraph: Functional.zip([first.xaxis, first.yaxis]) };
发布于 2010-12-01 05:25:01
为什么你不能只使用一个for循环呢?
for(var i = 0; xaxis.length; i++){
piegraph.push({xaxis[i], yaxis[i]);
}
https://stackoverflow.com/questions/4318717
复制相似问题