Java中JSONObject去掉转义字符 您所在的位置:网站首页 js处理json中的特殊符号 Java中JSONObject去掉转义字符

Java中JSONObject去掉转义字符

2023-10-16 12:26| 来源: 网络整理| 查看: 265

问题:

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

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 public static HashMap JsonObjectToHashMap(JSONObject jsonObj){ HashMap data = new HashMap(); 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 stringStringHashMap = demo.JsonObjectToHashMap(jsonArr); String data = stringStringHashMap.get("data");

对data进行去转义字符

//先有这个依赖,调用工具类 import org.apache.commons.lang.StringEscapeUtils; //进行去转义字符 String s = StringEscapeUtils.unescapeJava(data)

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有