Hunsu
Hunsu

Reputation: 3381

How to print unicode json using Javascript

I try to print JSON response in my html document so I do:

respdiv.innerHTML = '<pre><code>' + xhr.responseText + '</code></pre>';

The problem is my response is printed like this :

{ "error": "Sc\\u00e9nario invalide" }

I want my response to be printed like this :

{ "error": "Scénario invalide" }

How I get this?

Upvotes: 0

Views: 62

Answers (1)

tmarwen
tmarwen

Reputation: 16354

You can delegate all the work to JSON.parse() then unescape the characters:

var responseText = unescape(JSON.parse('"' + xhr.responseText + '"'));
respdiv.innerHTML = '<pre><code>' + responseText + '</code></pre>';

But as @p.s.w.g suggested, I would advice fixing it on server side.

Upvotes: 1

Related Questions