2016-04-15 70 views
0

我得到的JSON格式如下如何更改Json格式?

[{ 
    "year": "2015-01-05", 
    "contentTitle": "bus", 
    "aid": 43050500 
}, { 
    "year": "2015-01-14", 
    "contentTitle": "paratransit", 
    "aid": 1435400 
}] 

但我需要的格式如下

[ 
    { 
    "year": "2015-01-05", 
    "bus": 43050500, 
    "paratransit": 1435400, 
    "rail": 174436000 
    }, 
    { 
    "year": "2015-01-14", 
    "bus": 420572700, 
    "paratransit": 1924800, 
    "rail": 168658800 
    }] 

我试图在一定程度上通过以下

data.forEach(function (d) { 

    var gameName = d.contentTitle; 
    var gameValue = d.aid; 
     d[gameName] = gameValue; 
     d.year = parseformat(d.year); 
     delete d["contentTitle"]; 
     delete d["aid"]; 


    }); 

    alert(JSON.stringify(data)); 

存档,但我没有没有达到预期的效果。

+3

无论你的例子是有效的JSON。 – PeeHaa

+0

虽然复制代码错误发生......这两个json数据是有效的 –

+0

至少[更新您的问题](http://stackoverflow.com/posts/36644324/edit)与正确的代码。 – PeeHaa

回答

0

你应该map你的阵列,而不是forEach

data = [{ 
 
    year: "2015-01-05", 
 
    contentTitle: "bus", 
 
    "aid": 43050500 
 
}, { 
 
    year: "2015-01-14", 
 
    contentTitle: "paratransit", 
 
    aid: 1435400 
 
}]; 
 

 
data = data.map(function (d) { 
 
    d[d.contentTitle] = d.aid; 
 
    d.year = d.year; // parseformat me << 
 
    delete d["contentTitle"]; 
 
    delete d["aid"]; 
 

 
    return d; 
 
}); 
 

 
alert(JSON.stringify(data));

+0

感谢kiro给你回复...但是数据格式不像我预料的那样你可以看看 –