解码Angular-JSON.parse问题中的http响应

解码Angular-JSON.parse问题中的http响应,json,angular,http,Json,Angular,Http,在经历了相当多的混乱之后,我已经到了可以从后端接收404错误响应中的以下主体的地步。我正在努力将内容解析成角度,以便使用它。我知道这很简单,所以很抱歉问这么一个基本的问题。尸体看起来像这样 _body: "{\"httpStatus\":404,\"errorType\":\"NotFound\",\"message\":\"Device does not exist!\"}" 这些都很好: console.log("Err = ", err); Err = Response {_body

在经历了相当多的混乱之后,我已经到了可以从后端接收404错误响应中的以下主体的地步。我正在努力将内容解析成角度,以便使用它。我知道这很简单,所以很抱歉问这么一个基本的问题。尸体看起来像这样

 _body: "{\"httpStatus\":404,\"errorType\":\"NotFound\",\"message\":\"Device does not exist!\"}"
这些都很好:

console.log("Err = ", err);
Err =  Response {_body: " 
{\"httpStatus\":404,\"errorType\":\"NotFound\",\"message\":\"Device does not exist!\"}", status: 404, ok: false, statusText: "OK", headers: Headers, …}
以及:

但这不起作用:

let errorObject = eval(errorString);
Uncaught (in promise): SyntaxError: Invalid or unexpected token

但是我不知道如何把各个字段取出来。我知道上述努力是幼稚和错误的。我相信任何有JS或角度技能的人都能在一分钟内解决这个问题

让我放松一下。我是一名硬件设计师。我来这里是因为我不知道什么,这总是问问题的最好理由

编辑: 谢谢你的回答。JSON.parse对我不起作用

SyntaxError: Unexpected token \ in JSON at position 1
我更仔细地观察了您成功地使用了什么,我同意它在控制台中工作得很好。但这对我来说是行不通的。我们所做的工作是:

let errBody = JSON.parse("\"" + err._body + "\"");
尽管这样做似乎很可笑。特别是在事后,结果并不完全正确:

err body {"httpStatus":404,"errorType":"NotFound","message":"Device does not exist!"}

如果我尝试获取errBody.message,它是未定义的!。。。这是完全荒谬的。我做错了什么?你们这些家伙是怎么谋生的?我快死了

我假设
errorString
err.\u body
?无论如何,将该字符串解析为JSON应该非常简单:

let error = JSON.parse(err._body);

我假设
errorString
err.\u body
?无论如何,将该字符串解析为JSON应该非常简单:

let error = JSON.parse(err._body);

我最近又谈到了这一点。终于找到了答案。在尝试JSON解析之前,我需要删除正文中一些不需要的反斜杠

const errorStringReplaced = err._body.replace(/\\/g, '');
const errBody = JSON.parse(errorStringReplaced);
this.outcomeMessage = errBody.message;

这样做之后,我就可以正确地抓住内脏了。我仍然希望首先正确地发送对象,但现在必须这样做

我最近又谈到了这一点。终于找到了答案。在尝试JSON解析之前,我需要删除正文中一些不需要的反斜杠

const errorStringReplaced = err._body.replace(/\\/g, '');
const errBody = JSON.parse(errorStringReplaced);
this.outcomeMessage = errBody.message;

这样做之后,我就可以正确地抓住内脏了。我仍然希望首先正确地发送对象,但现在必须这样做

什么是
errorString
?那是从哪里来的<代码>JSON.parse(“{\“httpStatus\”:404,\“errorType\”:\“NotFound\”,\“message\”:\“设备不存在!\”)为我工作。什么是
errorString
?那是从哪里来的<代码>JSON.parse(“{\“httpStatus\”:404,\“errorType\”:\“NotFound\”,\“message\”:\“设备不存在!\”)为我工作。