javascript表示JSON对象属性未定义,尽管它';不是
我有一个json对象,我打印到屏幕上(使用alert()-function): 结果如下: 然后我想在屏幕上打印id的值: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
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);