Java中JSONObject去掉转义字符

问题:

调用第三方接口接受返回的数据出现转义字符

JSONObject jsonArr = demo.returnPostMehodJson(baseUrl, BODY_JSON);//解密后返回的json

jsonArr的数据为:

{"data":"[{\"id\":\"1\",\"name\":\"\\u4f53\\u80b2\"},{\"id\":\"3\",\"name\":\"\\u519b\\u4e8b\"},{\"id\":\"4\",\"name\":\"\\u641e\\u7b11\"},{\"id\":\"5\",\"name\":\"\\u8d22\\u7ecf\"},{\"id\":\"7\",\"name\":\"\\u79d1\\u6280\"},{\"id\":\"9\",\"name\":\"\\u6c7d\\u8f66\"},{\"id\":\"10\",\"name\":\"\\u97f3\\u4e50\"},{\"id\":\"13\",\"name\":\"\\u5065\\u5eb7\"},{\"id\":\"16\",\"name\":\"\\u5a31\\u4e50\"},{\"id\":\"17\",\"name\":\"\\u5e7f\\u544a\"},{\"id\":\"19\",\"name\":\"\\u8d44\\u8baf\"},{\"id\":\"22\",\"name\":\"\\u7535\\u5f71\"},{\"id\":\"23\",\"name\":\"\\u7535\\u89c6\\u5267\"},{\"id\":\"24\",\"name\":\"\\u7efc\\u827a\"},{\"id\":\"26\",\"name\":\"\\u7f8e\\u98df\"},{\"id\":\"58\",\"name\":\"\\u767e\\u79d1\"},{\"id\":\"59\",\"name\":\"\\u7a8d\\u95e8\"},{\"id\":\"63\",\"name\":\"\\u5386\\u53f2\"},{\"id\":\"68\",\"name\":\"\\u5e7f\\u573a\\u821e\"},{\"id\":\"70\",\"name\":\"\\u4e24\\u6027\"},{\"id\":\"72\",\"name\":\"\\u5065\\u8eab\"},{\"id\":\"79\",\"name\":\"\\u7eaa\\u5f55\\u8bbf\\u8c08\"},{\"id\":\"81\",\"name\":\"\\u6444\\u5f71\"},{\"id\":\"85\",\"name\":\"\\u65f6\\u5c1a\"},{\"id\":\"90\",\"name\":\"\\u6bcd\\u5a74\"},{\"id\":\"93\",\"name\":\"\\u6e38\\u620f\"},{\"id\":\"94\",\"name\":\"\\u60c5\\u611f\"},{\"id\":\"97\",\"name\":\"\\u4e66\\u753b\"},{\"id\":\"98\",\"name\":\"\\u6559\\u80b2\"},{\"id\":\"103\",\"name\":\"\\u804c\\u573a\"},{\"id\":\"104\",\"name\":\"\\u5b97\\u6559\"},{\"id\":\"112\",\"name\":\"\\u6536\\u85cf\"},{\"id\":\"120\",\"name\":\"\\u840c\\u5a03\"},{\"id\":\"121\",\"name\":\"\\u4e8c\\u6b21\\u5143\"},{\"id\":\"122\",\"name\":\"\\u8bfb\\u4e66\"},{\"id\":\"134\",\"name\":\"\\u7f8e\\u5973\"},{\"id\":\"188\",\"name\":\"\\u624b\\u5de5\"},{\"id\":\"191\",\"name\":\"\\u5bb6\\u5c45\"},{\"id\":\"192\",\"name\":\"\\u65c5\\u884c\"},{\"id\":\"194\",\"name\":\"\\u8da3\\u73a9\"},{\"id\":\"196\",\"name\":\"\\u5c11\\u513f\"},{\"id\":\"197\",\"name\":\"\\u661f\\u5ea7\\u547d\\u7406\"},{\"id\":\"199\",\"name\":\"\\u840c\\u5ba0\"},{\"id\":\"209\",\"name\":\"\\u66f2\\u827a\"},{\"id\":\"216\",\"name\":\"\\u4e09\\u519c\"},{\"id\":\"218\",\"name\":\"\\u730e\\u5947\"},{\"id\":\"242\",\"name\":\"\\u52a8\\u6f2b\"},{\"id\":\"869\",\"name\":\"\\u5c0f\\u54c1\"}]","logid":"4110597586","retmsg":"ok","retcode":"200"}

解决方案:

因为只有 data 有转义字符,其他的没有,所以只对data进行去转义字符

先获取 data 数据

1.将JSONObject转换为HashMap

//1.將JSONObject转换为HashMap<String,String>
public static HashMap<String, String> JsonObjectToHashMap(JSONObject jsonObj){
	HashMap<String, String> data = new HashMap<String, String>();  
	Iterator it = jsonObj.keys();
	while(it.hasNext()){
		String key = String.valueOf(it.next().toString());
		String value = (String)jsonObj.get(key).toString();
		data.put(key, value);
	}
	System.out.println(data);
	return data;
}
2.再调用方法获取data
HashMap<String, String> stringStringHashMap = demo.JsonObjectToHashMap(jsonArr);
String data = stringStringHashMap.get("data");

对data进行去转义字符

//先有这个依赖,调用工具类
import org.apache.commons.lang.StringEscapeUtils;

//进行去转义字符
String s = StringEscapeUtils.unescapeJava(data)

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值