我收到了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格式,而是使用字符串。但那并不好。 如果有人能告诉我我做错了什么,我将不胜感激。
答案 0 :(得分:1)
做什么:
var responseJSON = JSON.parse(response);
var dataEquip = responseJSON ['data'] // get the data from json obj
var komvosName = dataEquip['TrenchType'];
JSON对象(responseJSON)只不过是一个关联数组。