JSONを使用する場合、文字列はUTF-8であり、特殊文字は\u
4つの16進文字が後に続くようにエンコードされます。
あなたの場合、その文字列をデコードしようとすると、たとえば、配列の最初の項目を使用して:
>>> str = "\u0645\u062f\u064a\u0646\u0629";
"مدينة"
私はアラビア語を読みませんが、これは私にはアラビア語のように見えます:-)
JSONが見栄えが良くない場合でも、それは重要ではありません。重要なことは、JSONがデコードされたら、元のデータを取り戻すことです。そして、ここでは、あなたがやろうとしているようです。
ブラウザのコンソールで元のデコードされた文字列を取得するには(デバッグの目的で) 、アプリケーションで使用しているのと同じJSライブラリ(存在する場合)またはJSON.parse()
関数(これをテストしたばかりです)を使用できる必要がありますFirefoxのコンソールでは、実際には):
>>> JSON.parse('"\u0645\u062f\u064a\u0646\u0629"');
"مدينة"
もちろん、デコードされた値を実際にブラウザのコンソールに出力するには、コードを記述する必要があります(「手動」であるか、サーバーからJSONを取得する場合)。しかし、ブラウザのコンソールはデバッグツールなので、問題ないようです。
デフォルトでは、コンソールはデバッグツールとして、サーバーから取得した生のJSON文字列を出力します。JSONでは特殊文字がエンコードされているため、JSON文字列をデコードして表示する以外に何もできません。必要に応じて、自分で)
JSON.parse()
サーバーから結果を取得するたびにデコードされた文字列をコンソールに出力する場合は、サーバーから結果を取得するたび
に呼び出す必要があります。次に、おそらくを使用して出力しconsole.log()
ます。
ただし、アプリケーションを配布したり、本番サーバーにアップロードしたりする前に、そのデバッグコードを削除することを忘れないでください。