【发布时间】:2019-06-03 20:18:41
【问题描述】:
我尝试使用Gson 和org.json 作为示例。我也尝试了Commons Text,但是当我手动导入库时(我不允许使用 Maven),我不适合我。所以我决定寻找另一种解决方案。
NoClassDefFoundError: org/apache/commons/text/StringEscapeUtils
我需要以这种方式将 Array 转义为 Json。尤其是 Ó、ó 或任何 Latin-1 字符(不要转义 ",只是转义 "&%$/"Helló" 中的内容)。原文:Helló / // \ "WÓRLD"
{"token":"045-245","message":"Helló / // \\ \"WÓRLD\" "}
到
{"token":"045-245","message":"Hell\u00F3 / // \\ \"W\u00D3RLD\" "}
这是我使用时得到的:
格森
JsonObject json = new JsonObject();
json.addProperty("token", "045-245");
json.addProperty("message", "Helló WÓRLD");
String payload = new Gson().toJson(json);
System.out.println(payload);
结果:
{"token":"045-245","message":"Helló WÓRLD"}
org.json
JSONObject jsonObject = new JSONObject();
jsonObject.put("token", "045-245");
jsonObject.put("message", "Helló WÓRLD");
System.out.println(jsonObject.toString());
结果:
{"message":"Helló WÓRLD","token":"045-245"}
【问题讨论】:
-
Gson 不支持此功能(解决方法请参阅stackoverflow.com/questions/43091804/…)。但杰克逊做到了!见stackoverflow.com/questions/23121765/…
-
@dnault 谢谢,但我需要使用 Maven 吗?我下载了最后一个 Jackson 版本,但 Netbeans 无法管理
ObjectMapper mapper = new ObjectMapper()。因为正如我所问,我不允许使用 Maven。 -
你只需要让 Jackson 在你的类路径中。
标签: java json escaping iso-8859-1