ホームページ >バックエンド開発 >Golang >JSON に「&」ではなく「\\u0026」が表示されるのはなぜですか?どうすれば修正できますか?

JSON に「&」ではなく「\\u0026」が表示されるのはなぜですか?どうすれば修正できますか?

DDD
DDDオリジナル
2024-12-07 17:45:13226ブラウズ

Why Does My JSON Show

JSON で ASCII コードの代わりに文字を表示する

提供された Go コードでは、キーと値のペア「key」を持つ JSON オブジェクト":"&"が生成されます。ただし、ブラウザとコンソールの両方に表示される結果には、アンパサンド記号 (&) の代わりにエスケープされた文字シーケンス「u0026」が表示されました。

この問題を解決するために、Go1.7 ではエンコーディング/に SetEscapeHTML 関数が導入されました。 jsonパッケージ。この関数を使用すると、JSON 文字列内の HTML 特殊文字 (<、>、&) のエスケープを無効にすることができます。

JSON エンコーダで SetEscapeHTML を false に設定すると、アンパサンド文字のエスケープを無効にすることができます。無効。変更されたコードは次のとおりです。

enc := json.NewEncoder(w)
enc.SetEscapeHTML(false)

この変更により、アンパサンド文字は、同等の ASCII コードではなく、ブラウザーとコンソールの両方で「&」として表示されます。

注: このアプローチは、JSON 文字列への文字のエンコードにのみ影響します。クライアントから受信した文字のエンコーディングは変更されません。

以上がJSON に「&」ではなく「\\u0026」が表示されるのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。