代码之家  ›  专栏  ›  技术社区  ›  David

无论我尝试什么,都无法访问JSON对象

  •  0
  • David  · 技术社区  · 7 年前

    我有一个JSON结构,我想访问它:

    data { payload: "{"state":{"reported":{"measuredata":{…
    

    JSON。解析不起作用,JSON也不起作用。字符串化。

    我只能访问有效负载,如果我继续,我会收到错误或未定义:

    data.payload // works
    
    data.payload["state"] //undefined
    data.payload.state // undefined
    data.payload[0].state // undefined
    data.payload[0]["state"] // undefined
    

    我做错了什么?

    3 回复  |  直到 7 年前
        1
  •  3
  •   Pivote    7 年前

    我能看到的是,你的json格式不好 data { payload: "{"state":{"reported":{"measuredata":{…

    在单词payload后面应该没有双引号 payload: "{"state"

    你必须有这样的东西

    payload: {"state"
    
        2
  •  0
  •   Mihai Alexandru-Ionut    7 年前

    你只需要使用 JSON.parse 对于 payload json字符串值。

    JSON.parse(data.payload).state;
    
        3
  •  0
  •   Devsi Odedra    7 年前

    解析的示例代码。

    var data = {
        "logged_in":true,
        "town":"Dublin",
        "state":"Ohio",
        "country":"USA",
        "products":
            {
                "pic_id":"1500",
                "description":"Picture of a computer",
                "localion":"img.cloudimages.us/2012/06/02/computer.jpg",
                "type":"jpg",
                "childrenimages":
                    {
                        "pic_id":"15011",
                        "description":"Picture of a cpu",
                        "localion":"img.cloudimages.us/2012/06/02/mycpu.png",
                        "type":"png"
                    }
            }
          
    };
    
    var data1 = JSON.stringify(data);
    var data_final = JSON.parse(data1);
    
    console.log(data_final.products.pic_id);