我有一个json对象,我打印到屏幕上(使用alert() - 函数):
alert(object);
结果如下:
然后我想将id的值打印到屏幕上:
alert(object["id"]);
结果如下:
正如您所看到的,key" id"的值不是(!!!)未定义。
这到底是怎么回事?!
答案 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}}