从JSON对象获取数据的问题

时间:2015-03-13 14:32:25

标签: javascript json response

我收到了Ajax POST请求的响应,如下所示:

{
    "columns": [
        "r"
    ],
    "data": [
        [
            {
                "extensions": {},
                "start": "http://localhost:7474/db/data/node/2762",
                "property": "http://localhost:7474/db/data/relationship/2709/properties/{key}",
                "self": "http://localhost:7474/db/data/relationship/2709",
                "properties": "http://localhost:7474/db/data/relationship/2709/properties",
                "type": "IS_CONNECTED_WITH",
                "end": "http://localhost:7474/db/data/node/2763",
                "metadata": {
                    "id": 2709,
                    "type": "IS_CONNECTED_WITH"
                },
                "data": {
                    "FOC_Type": "IRU",
                    "DuctType": "IRU",
                    "TrenchType": "IRU",
                    "linestringId": "53805"
                }
            }
        ]
    ]
}

以上是一个字符串。我要访问的内容包括:"FOC_Type":"IRU""DuctType":"IRU""TrenchType":"IRU""linestringId":"53805"

我将字符串转换为JSON,如下所示:

  var response = JSON.parse(response);

然后我尝试访问这样的一些值:

  var dataEquip = response[Object.keys(response)[Object.keys(response).length - 1]] // get the data from json obj

  var komvosName = dataEquip[0][2];

但我无法使其发挥作用。

我找到了一个解决方法,我不会将响应转换为JSON格式,而是使用字符串。但那并不好。 如果有人能告诉我我做错了什么,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

做什么:

var responseJSON = JSON.parse(response);
var dataEquip = responseJSON ['data'] // get the data from json obj
var komvosName = dataEquip['TrenchType'];

JSON对象(responseJSON)只不过是一个关联数组。