我有以下的數組:重構JSON對象
var res = {
"status": "Success",
"data": [
{"assignedTo":"0", "createdDate":"23-07-2013", "count":"2"},
{"assignedTo":"182398", "createdDate":"01-08-2013", "count":"2"},
{"assignedTo":"182398", "createdDate":"23-07-2013", "count":"2"},
{"assignedTo":"182398", "createdDate":"24-07-2013", "count":"12"},
{"assignedTo":"182398", "createdDate":"22-07-2013", "count":"1"},
{"assignedTo":"182398", "createdDate":"30-07-2013", "count":"4"},
{"assignedTo":"182398", "createdDate":"31-07-2013", "count":"19"},
{"assignedTo":"185271", "createdDate":"24-07-2013", "count":"2"},
{"assignedTo":"185271", "createdDate":"23-07-2013", "count":"1"}
]
}
現在我想使從上述一個JSON陣列的data
到另一個JSON ,其值將是這樣的:
[
{
key: "0",
values: [["23-07-2013", 2]]
},
{
key: "182398",
values: [["01-08-2013", 2],
["23-07-2013", 2],
["24-07-2013", 12],
["22-07-2013", 1],
["30-7-2013", 4],
["31-7-2013", 19]
},
{
key: "185271",
values: [["24-07-2013", 2],
["23-07-2013", 1]
}
]
我已經嘗試過,如下所示:
for (i in res.data) {
for (k in res.data[i]) {
time_val += "[" + res.data[i]['createdDate'] + ","
+ res.data[i]['count'] + "],";
cumulative_val += '{key:"' + res.data[i]['assignedTo']
+ '",values:'+time_val+'},';
}
}
能否請您指導我該怎麼做? 在此先感謝。
您的輸入不是JSON。 JavaScript的!= JSON。而你的代碼不是PHP。 –
你應該注意,你想要實現的結構是無效的JSON ...也不是你的輸入,btw ... – Joum
在JS中創建JSON的更好的方法是創建一個對象或數組並將其轉換爲JSON 'JSON.stringify'。手動構建JSON(與您一樣)容易出錯。例如,鍵必須用JSON中的雙引號括起來,並且在字符串中有'key:'而不是'key':''。如果您根本不想創建JSON,但只需將對象轉換爲對象數組,然後說出來。但那與JSON無關。另外,你有什麼問題?請解釋。 –