如何将JSON对象转换为JavaScript数组?
我需要将JSON对象字符串转换为JavaScript数组 这是我的JSON对象:如何将JSON对象转换为JavaScript数组?,javascript,json,Javascript,Json,我需要将JSON对象字符串转换为JavaScript数组 这是我的JSON对象: {"2013-01-21":1,"2013-01-22":7} 我想要: var data = new google.visualization.DataTable(); data.addColumn('string', 'Topping'); data.addColumn('number', 'Slices'); data.addRows([ ['2013-01-21', 1], ['2013
{"2013-01-21":1,"2013-01-22":7}
我想要:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['2013-01-21', 1],
['2013-01-22', 7]
]);
我怎样才能做到这一点
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);
请参阅完整的解释:如果您有格式良好的JSON字符串,您应该能够
var as = JSON.parse(jstring);
在通过AJAX传输阵列时,我总是这样做。假设您有:
var j = {0: "1", 1: "2", 2: "3", 3: "4"};
您可以使用(几乎所有浏览器版本都支持)获取值:
或者简单地说:
Object.values(j)
输出:
["1", "2", "3", "4"]
就这么简单
var json_data = {"2013-01-21":1,"2013-01-22":7};
var result = [json_data];
console.log(result);
这将解决问题:
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);
或使用方法:
在这两种情况下,输出将为:
/* output:
[['2013-01-21', 1], ['2013-01-22', 7]]
*/
可以将对象项插入数组,如下所示
让obj={
“一号”:{
名称:“stackoverflow”
},
第二名:{
名称:“stackexchange”
}
};
让wholeArray=Object.keys(obj.map)(key=>obj[key]);
控制台日志(wholeArray)代码>作弊->字符串。拆分(',')
@adeneo他想要数组中的数组,用你的方法它只会是一个数组。我想这样:2013-01-21=>1 2013-01-22==>7(像一个哈希表)@user1960311这就是你拥有的now@salexch您是JSON.parse()的天才….+1。在这一点上,它有广泛的浏览器支持:这似乎返回一个对象,但不是数组。对吗?它将返回您序列化的任何对象或对象集合。我认为这比actepted更好。这不会保留键。这使得数组中有一个对象(json数据对象)。@Shivam,发现它很有用吗?谁读了这个。。。改用!记住Object.values()不是IE,IE不支持任何东西。什么与它兼容,什么与它不兼容真的很重要吗?太好了。但不适用于嵌套对象。var数据={“2013-01-21”:1,“2013-01-22”:7,“ab”:{“x”:1};返回[[“2013-01-21”,1],“2013-01-22”,7],“ab”,{“x”:1}]]
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);
console.log(Object.entries(json_data));
/* output:
[['2013-01-21', 1], ['2013-01-22', 7]]
*/