javascript说JSON对象属性是未定义的,尽管它不是

时间:2017-06-23 20:11:19

标签: javascript json object properties undefined

我有一个json对象,我打印到屏幕上(使用alert() - 函数):

alert(object);

结果如下:

enter image description here

然后我想将id的值打印到屏幕上:

    alert(object["id"]); 

结果如下:

enter image description here

正如您所看到的,key" id"的值不是(!!!)未定义。

这到底是怎么回事?!

4 个答案:

答案 0 :(得分:15)

看起来你的json对象实际上不是一个对象,它是一个json字符串。为了将它用作对象,您需要使用像JSON.parse(obj)这样的反序列化函数。许多框架都有自己的实现,如何反序列化JSON字符串。
当您尝试使用真实对象执行alert(obj)时,结果将是[object Object]或类似的东西

答案 1 :(得分:4)

如果对象不是JSON.parse(),那么您应该执行以下操作:

var result = JSON.parse(object);
alert(result.id);

如果对象已经JSON.parse(),则仅使用:

alert(object.id);

答案 2 :(得分:0)

您需要将其分配给var,然后再访问它。

var object = {id: "someId"};
console.log(object);
alert(object["id"]);

答案 3 :(得分:0)

在JavaScript中,可以使用对象属性进行访问。运算符或使用object["property"]的关联数组索引。即object.property等同于var obj = JSON.parse(Object); alert(obj.id);

您可以尝试:

{{1}}
相关问题