3

I am getting the JSON error response from server in the following way,

let err = {
        "_body": "{\"error\":\"264\",\"message\":\"Please enter valid usename/password\",\"object\":null}",
        "status": 400,
        "ok": false
    }

And i want to display the error message on the screen 'Please enter valid usename/password'

I tried in the following way but no luck,

console.log((this.err._body).replace(/\\/g, ''));
rinukkusu
  • 21,351
  • 4
  • 61
  • 68
vishnu
  • 4,045
  • 13
  • 48
  • 82
  • Possible duplicate of [Safely turning a JSON string into an object](http://stackoverflow.com/questions/45015/safely-turning-a-json-string-into-an-object) – Liam Oct 18 '16 at 13:31

2 Answers2

6

You just need to deserialize the body.

let err = {
        "_body": "{\"error\":\"264\",\"message\":\"Please enter valid usename/password\",\"object\":null}",
        "status": 400,
        "ok": false
    }

var body = JSON.parse(err._body);
console.log(body.message);

Click on Run code snippet to see this working.

Martin
  • 14,894
  • 4
  • 46
  • 56
3

You probably need to decode the wrapped json string again:

let responseBody = JSON.parse(this.err._body);
console.log(responseBody.message);
rinukkusu
  • 21,351
  • 4
  • 61
  • 68