Gson の解析でエスケープの問題が発生しました

善と悪の相互浸透は自然界の法則における通常の現象であり、善悪で定義できないものもあります。


1. 背景

# 原来的JSON字符串是这个的。
{
    
    
	"deviceNo": "lmi",
	"h5Url": "https://web.xxx.com/info/singleBoard?boardId=10086&ref=setting_product",
	"nativeUrl": "io://xxx.com/product/detail?id=1731&name=feedback"
}

Gson の toJson() を使用して Bean を JSON 文字列に変換すると、結果は次のようになります。

{
    
    
	"deviceNo": "lmi",
	"h5Url": "https://web.xxx.com/info/singleBoard?boardId\u003d10086\u0026ref\u003dsetting_product",
	"nativeUrl": "io://xxx.com/product/detail?id\u003d1731&name\u003dfeedback"
}

比較後:

  1. 「=」は「\u003d」としてエスケープされます
  2. 「&」は「\u0026」としてエスケープされます

2. ソリューション

GsonBuilder.disableHtmlEscaping() Gson インスタンスを取得し、toJson() を実行します。

参考自:Json converts & in a String to \u0026

おすすめ

転載: blog.csdn.net/wangcheeng/article/details/119043492