我需要将JSON对象字符串转换为JavaScript数组.
这是我的JSON对象:
{"2013-01-21":1,"2013-01-22":7}
Run Code Online (Sandbox Code Playgroud)
我希望:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['2013-01-21', 1],
['2013-01-22', 7]
]);
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
sal*_*xch 59
var json_data = {"2013-01-21":1,"2013-01-22":7};
var result = [];
for(var i in json_data)
result.push([i, json_data [i]]);
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows(result);
Run Code Online (Sandbox Code Playgroud)
agg*_*ton 43
如果你有一个结构良好的JSON字符串,你应该能够做到
var as = JSON.parse(jstring);
Run Code Online (Sandbox Code Playgroud)
我通过AJAX传输数组时一直这样做.
Rog*_*eto 16
function json2array(json){
var result = [];
var keys = Object.keys(json);
keys.forEach(function(key){
result.push(json[key]);
});
return result;
}
Run Code Online (Sandbox Code Playgroud)
请参阅此完整说明:http://book.mixu.net/node/ch5.html
mva*_*ebr 12
假设你有:
var j = {0: "1", 1: "2", 2: "3", 3: "4"};
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式获取值:
Object.keys(j).map(function(_) { return j[_]; })
Run Code Online (Sandbox Code Playgroud)
输出:
["1", "2", "3", "4"]
Run Code Online (Sandbox Code Playgroud)
Rak*_*rma 10
这将解决问题:
const json_data = {"2013-01-21":1,"2013-01-22":7};
const arr = Object.keys(json_data).map((key) => [key, json_data[key]]);
console.log(arr);
Run Code Online (Sandbox Code Playgroud)
您可以将对象项插入到数组中,如下所示
let obj2 = {"2013-01-21":1,"2013-01-22":7}
console.log(Object.keys(obj2).map(key => [key, obj2[key]]))
let obj = {
'1st': {
name: 'stackoverflow'
},
'2nd': {
name: 'stackexchange'
}
};
// you can use Object.values(obj)
console.log(Object.values(obj))
// or you can use this instead.
let wholeArray = Object.keys(obj).map(key => obj[key]);
console.log(wholeArray);
console.log(Object.values(obj));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
278393 次 |
| 最近记录: |