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
今日推荐