json-javascript数据类型

json-javascript数据类型,javascript,json,Javascript,Json,请澄清: var a = '{"item":"earth", "color":"blue", "weight":920}'; a-string或array的数据类型是什么 var b = JSON.parse(a); b-对象或数组的数据类型是什么?a是字符串,b是对象 var b = JSON.parse(a); var a = '{"item":"earth", "color":"blue", "weight":920}'; var b = JSON.parse(a); console

请澄清:

var a = '{"item":"earth", "color":"blue", "weight":920}';
a
-
string
array
的数据类型是什么

var b = JSON.parse(a);

b
-
对象
数组
的数据类型是什么?

a是字符串,b是对象

var b = JSON.parse(a);
var a = '{"item":"earth", "color":"blue", "weight":920}';
var b = JSON.parse(a);
console.log(typeof a); // string
console.log(typeof b); // object
如果需要强制转换到数组,可以JSON.parse(a)到对象。现在b是一个对象,您可以:

var c = Object.entries(b);
console.log(c);
现在c是您的数组

虽然c将是数组的数组:

[['项目','地球'],['颜色','蓝色'],['重量',920]]

我猜你可能想要这个:

var arr = [];
for (let i in b) {
   arr[i] = b[i];
}
console.log(arr);
[项目:地球,颜色:蓝色,重量:920]


a
是字符串,
b
是对象。您可以通过
typeof
操作符找到这一点。实际上编辑
b
未定义
,因为您的JSON无效。只有
可以用于JSON中的引用。@Pointy和如何获取数组而不是对象?您不能。数组有编号索引,而不是命名键。您可以使用
object.values(b)
从对象中获取值数组。这回答了您的问题吗?您所说的“如何获取数组”是什么意思?“意思是-如何获取数组而不是对象-只是更新了答案。。。这解决了您试图做的事情吗?
Object.values(b)
vs
Object.entries(b)