我下面有一个嵌套的JSON对象作为responseObject返回,我想访问该属性“消息”。
var reponseObject =
"{
"DynamicBundleResponse":
{
"status":"204",
"message":"Business error has occured",
"PropertyChanged":null
}
}"
根据互联网上的一些响应,我尝试了以下操作,但都返回了未定义的内容:
responseObject [“ DynamicBundleResponse”]。消息
根据互联网上的一些响应,我尝试了以下操作,但均返回未定义:
responseObject.DynamicBundleResponse.message
responseObject [“ DynamicBundleResponse”]。消息
var reponseObject = “ { “ DynamicBundleResponse”: { “ status”:“ 204”, “ message”:“发生业务错误”, “属性更改”:空 } }“
var res = responseObject.DynamicBundleResponse.message //returning undefined
未定义。
答案 0 :(得分:1)
IO
答案 1 :(得分:0)
使用.
点表示法访问属性。该对象为字符串格式(也未正确使用""
)。使用JSON.parse(object)
解析对象,然后使用相同的步骤进行操作
var reponseObject =
{
"DynamicBundleResponse":
{
"status":"204",
"message":"Business error has occured",
"PropertyChanged":null
}
}
console.log(reponseObject.DynamicBundleResponse.message)
答案 2 :(得分:0)
您只需要将字符串解析为一个对象:
var reponseObject = '{"DynamicBundleResponse": { "status": "204", "message": "Business error has occured", "PropertyChanged": null } }'
const asObject = JSON.parse(reponseObject);
console.dir(asObject.DynamicBundleResponse.message)
答案 3 :(得分:0)
这里没有什么要注意的:
Uncaught SyntaxError: Unexpected identifier
。只需删除第一个和最后一个双引号,它将成为一个对象。现在,您可以通过尝试的两种方式访问“消息”属性。
var responseObject = { "DynamicBundleResponse": { "status":"204", "message":"Business error has occured", "PropertyChanged":null } };
console.log(responseObject.DynamicBundleResponse.message);
console.log(responseObject["DynamicBundleResponse"].message);
注意:如果要继续将对象声明为字符串,请使用单引号来避免语法错误,然后按其他答案中所述将字符串解析为JSON。
注意: >希望这会有所帮助!