Javascript 如何从JS文件中的JSON响应中获取所需的id

Javascript 如何从JS文件中的JSON响应中获取所需的id,javascript,json,Javascript,Json,我从我的JS文件中调用了AJAX,得到了如下响应(返回的属性更多,但为了简化,我在这个问题中展示了JSON,如下所示: {"release":"{\"avatar_url\": null, \"created\": \"2015-11-16T16:42:16+00:00\", \"guest_access_url\": null, \"id\": 2168982}","data":"Success"} 我需要的是响应对象上方的“id”字段的值 我尝试了response.release.id,r

我从我的JS文件中调用了AJAX,得到了如下响应(返回的属性更多,但为了简化,我在这个问题中展示了JSON,如下所示:

{"release":"{\"avatar_url\": null, \"created\": \"2015-11-16T16:42:16+00:00\", \"guest_access_url\": null, \"id\": 2168982}","data":"Success"}
我需要的是响应对象上方的
“id”
字段的值


我尝试了
response.release.id,response.release[“id”]
等,但没有成功。

您的
响应。release
是另一个json,因此需要将其解析为对象,否则无法对其进行评估。 希望你的成功如下图所示将起作用

success = function(response)  {
   // If response is an object then access else parse it to object      

   var id = JSON.parse(response.release).id;
}

我猜如果你粘贴的json就是你得到的,那么你可能是以字符串的形式收到的,而不是json对象

因此,有两种解决方案:

var response = '{"release":"{\"avatar_url\": null, \"created\": \"2015-11-16T16:42:16+00:00\", \"guest_access_url\": null, \"id\": 2168982}","data":"Success"}' //This is the response data you get from ajax call
response = JSON.parse(response);

现在,变量response具有ajax调用返回的字符串的
json
对象。因此,要访问所需的值,可以按照您所说的
response.release.id

执行操作。您使用的是JQuery吗?或者,这是一个基本的本机XMLHttpRequest吗?您可能需要实际告诉它将字符串解析为json(
obj=json.parse)(response.responseText)
)回答时,最好不要包含需要OP尚未包含的附加库的解决方案。但是,如果您这样做,请在回答中注意,以便OP可以决定他/她是否愿意并且能够承担额外的开销(在jQuery的情况下)是的。因为发布本身是另一个json,它需要单独解析并访问NavoneelI建议的id变量。我使用jQuery以类似的方式获得它:var te=response;var releaseid=$.parseJSON(te.release).id;