使用 javascript 从响应 api 转换错误文本,反应 js
Convert error text from response api using javascript, react js
我从服务器调用 api,我处理来自 api 的错误文本。
这是来自 api 的回复。
{
response : {
data: {
"errorCode": "99",
"errorType": "UNEXPECTED_ERROR",
"developerMessage": "400 : [{\"errorCode\":\"91\",\"developerMessage\":\"{\\"errorCode\\":\\"10\\",\\"developerMessage\\":\\"Offer code not exits\\"}\"}]",
}
}
}
我想显示来自 developerMessage
prop 的错误文本。像这样:developerMessage: "Offer code not exits"
.
我使用 lodash 得到了那个错误,但不是我想要的。
const errorMessage = _.get(error, ['response', 'data', 'developerMessage', 400]);
如何修复它才能使其正常工作?
非常感谢。
您需要使用 JSON.parse()
在对象层次结构的多级下方 parse
您的响应数据。
let responseData = {
response: {
data: {
"errorCode": "99",
"errorType": "UNEXPECTED_ERROR",
"developerMessage": "400 : [{\"errorCode\":\"91\",\"developerMessage\":\"{\\"errorCode\\":\\"10\\",\\"developerMessage\\":\\"Offer code not exits\\"}\"}]"
}
}
};
const getErrorMsg = (inputData) => {
const devMsg = inputData.response.data.developerMessage;
const errorMsg = JSON.parse(devMsg.slice(devMsg.indexOf("[")));
return JSON.parse(errorMsg[0].developerMessage).developerMessage;
}
console.log(getErrorMsg(responseData));
我从服务器调用 api,我处理来自 api 的错误文本。
这是来自 api 的回复。
{
response : {
data: {
"errorCode": "99",
"errorType": "UNEXPECTED_ERROR",
"developerMessage": "400 : [{\"errorCode\":\"91\",\"developerMessage\":\"{\\"errorCode\\":\\"10\\",\\"developerMessage\\":\\"Offer code not exits\\"}\"}]",
}
}
}
我想显示来自 developerMessage
prop 的错误文本。像这样:developerMessage: "Offer code not exits"
.
我使用 lodash 得到了那个错误,但不是我想要的。
const errorMessage = _.get(error, ['response', 'data', 'developerMessage', 400]);
如何修复它才能使其正常工作?
非常感谢。
您需要使用 JSON.parse()
在对象层次结构的多级下方 parse
您的响应数据。
let responseData = {
response: {
data: {
"errorCode": "99",
"errorType": "UNEXPECTED_ERROR",
"developerMessage": "400 : [{\"errorCode\":\"91\",\"developerMessage\":\"{\\"errorCode\\":\\"10\\",\\"developerMessage\\":\\"Offer code not exits\\"}\"}]"
}
}
};
const getErrorMsg = (inputData) => {
const devMsg = inputData.response.data.developerMessage;
const errorMsg = JSON.parse(devMsg.slice(devMsg.indexOf("[")));
return JSON.parse(errorMsg[0].developerMessage).developerMessage;
}
console.log(getErrorMsg(responseData));