javascript表示JSON对象属性未定义,尽管它';不是

javascript表示JSON对象属性未定义,尽管它';不是,javascript,json,object,properties,undefined,Javascript,Json,Object,Properties,Undefined,我有一个json对象,我打印到屏幕上(使用alert()-function): 结果如下: 然后我想在屏幕上打印id的值: alert(object["id"]); 结果是: 如您所见,键“id”的值不是(!!!)未定义的 这到底是怎么回事 您需要将其分配给var,然后访问它 var object={id:“someId”}; console.log(对象); 警报(对象[“id”])您的JSON没有被解析,所以为了让JavaScript能够访问它的值,您应该首先解析它,如第1

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

结果如下:

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

    alert(object["id"]); 
结果是:

如您所见,键“id”的值不是(!!!)未定义的


这到底是怎么回事

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

var object={id:“someId”};
console.log(对象);

警报(对象[“id”])您的JSON没有被解析,所以为了让JavaScript能够访问它的值,您应该首先解析它,如第1行所示:

var result = JSON.parse(object);
alert(result.id);
解析JSON对象后,您可以访问其值,如下所示:

alert(result.id);

看起来你的json对象不是一个真正的对象,而是一个json字符串。为了将其用作对象,您需要使用反序列化函数,如
JSON.parse(obj)
。对于如何反序列化JSON字符串,许多框架都有自己的实现

当您尝试对真实对象执行
alert(obj)
时,结果将是[object object]或类似的东西,在JavaScript中,可以使用访问对象属性。运算符或使用
[]
进行关联数组索引。即object.property等同于
object[“property”]

您可以尝试:

var obj = JSON.parse(Object);
alert(obj.id); 

我想发同样的帖子!:)谢谢你的帮助!这就是解决方案。我的问题不同,但你的想法可以帮助我解决这个问题。请在你的问题中只包含文本,而不是文本截图。
var obj = JSON.parse(Object);
alert(obj.id);