2014-09-17 7 views
-1

J'ai une réponse JSON comme celui-ci,Json Objet avec barre oblique inverse, Comment lire le contenu?

{"readyState":4,"responseText":"{\"error\":{\"type\":\"Duplicate user\",\"errorMessage\":\"Another user exists with this user name\"}}","status":409,"statusText":"Conflict"} 

-je présenter un message utilisateur comme data.responseText.errorMessage Mais il montre l'erreur erreur, je viens enlevé « \ » (Backslash) en utilisant la méthode JSON.stringify(data).replace(/\\/g, ""). Mais je reçois une chaîne comme résultat par cela. (Ci-dessous)

{"readyState":4,"responseText":"{"error":{"type":"Duplicate user","errorMessage":"Another user exists with this user name (9846184100)"}}","status":409,"statusText":"Conflict"} 

Je ne peux pas analyser cela pour objet JSON en utilisant JSON.parse Mais le résultat est Unexpected token e

Alors, comment puis-je montrer le errorMessage?

Merci à l'avance

+2

La chaîne que vous obtenez est mal formé – Balder

+0

Non, ce n'est pas, mais Je pense que c'est vraiment une mauvaise pratique de le faire comme ça –

+0

Mais attendez, obtenez-vous cette réponse d'une requête ajax? Ensuite, il existe de bien meilleures façons de le faire! –

Répondre

1

Votre chaîne est parfaitement valable comme il est, mais vous devez d'abord analyser le texte de réponse:

var response = JSON.parse(data.responseText); 
alert(response.error.errorMessage); 
+0

Merci frère, bonne réponse, je structure avec quelques heures ... !! – user3017713

Questions connexes