簡體   English   中英

將json對象轉換為特定的json數組

[英]convert json object to specific json array

我有一個json對象{"yAxis" : { "Batting" : [10, 20, 30, 40] , "Bowling" : [10, 30, 50, 70], "Fielding" : [20, 40, 50, 70] } },

並想要像這樣轉換為json數組

[ { "name": "Batting" ,"data": [10,20,30,40]} , { "name": "Bowling" ,"data": [10,30,50,70] },{ "name": "Fielding" ,"data": [20,40,50,70]}] 

我可以為每個索引創建json對象,但是如何將它們放入json數組?

for(var abc in objJSON.yAxis)
{

    seriesValues +=  JSON.stringify({name:abc,data:(objJSON.yAxis)[abc]});
}

有什么幫助嗎?

您可以只遍歷創建對象,而不必擔心對其進行stringify處理。

var obj = {"yAxis" : { "Batting" : [10, 20, 30, 40] , "Bowling" : [10, 30, 50, 70], "Fielding" : [20, 40, 50, 70] } };

var keys = Object.keys(obj.yAxis),
    narray = [];
keys.forEach(function(v) {
    narray.push({ "name": v, "data": obj.yAxis[v] });
});

然后,如果需要對其進行字符串化,則稍后可以簡單地執行JSON.stringify(narray)

您接近:

var seriesValues = [];
for (var abc in objJSON.yAxis) {
  seriesValues.push({name: abc, data: objJSON.yAxis[abc]});
}

那將構成一個javascript數組。 如果您需要將其作為JSON字符串,請追加:

var myString = JSON.stringify(seriesValues);

數組生成后,只需進行字符串化即可。

var result = [];

for(var name in objJSON.yAxis)
{
    result.push({name: name, data: objJSON.yAxis[name]});
}

return JSON.stringify(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM