从嵌套对象

时间:2019-08-06 08:56:39

标签: javascript arrays json

我下面有一个嵌套的JSON对象作为responseObject返回,我想访问该属性“消息”。

 var reponseObject = 
    "{
        "DynamicBundleResponse":
            {
                "status":"204",
                "message":"Business error has occured",
                "PropertyChanged":null
            }
    }"

根据互联网上的一些响应,我尝试了以下操作,但都返回了未定义的内容:

  1. responseObject.DynamicBundleResponse.message
  2. responseObject [“ DynamicBundleResponse”]。消息

    根据互联网上的一些响应,我尝试了以下操作,但均返回未定义:

  3. responseObject.DynamicBundleResponse.message

  4. responseObject [“ DynamicBundleResponse”]。消息

    var reponseObject =     “ {         “ DynamicBundleResponse”:             {                 “ status”:“ 204”,                 “ message”:“发生业务错误”,                 “属性更改”:空             }     }“

        var res = responseObject.DynamicBundleResponse.message //returning undefined
    

未定义。

4 个答案:

答案 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)

这里没有什么要注意的:

  1. 拼写错误:声明时的变量名称不同于用于访问对象的变量。在两个地方使用相同的变量名。
  2. 大括号前后使用
  3. 双引号,它看起来像一个字符串,但是如果在代码内部使用,将产生错误-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。

注意: >

希望这会有所帮助!