gpt4 book ai didi

java - Servlet JSON 响应 ENCODING 问题 For "="

转载 作者:行者123 更新时间:2023-11-30 11:20:52 25 4
gpt4 key购买 nike

我有如下简单的 JSON 对象:

{"status":"Success","action":"Redirect","sessionid":6467349943156736,"url":"https://myapplicationing.com/go?id=1000"}

我创建的 JSON 如下:

JSONObject json = new JSONObject();
json.put("status", "Success");
json.put("action", "Redirect");
json.put("sessionid", "6467349943156736");
json.put("url", "https://myapplicationing.com/go?id=1000");

当我写这个 json 作为响应时

resp.setContentType("application/json");        
resp.setHeader("Cache-Control", "no-cache");
resp.setCharacterEncoding("utf-8");
try {
// json.write(resp.getWriter());//[tried]
// Gson gson = new GsonBuilder().disableHtmlEscaping().create();
resp.getWriter().println(json.toString());
// resp.getWriter().println(gson.toJson(json));//[TRIED]
} catch (Exception e) {
e.printStackTrace();
}

但它仍然给我 JSON 字符串如下:

{"status":"Success","action":"Redirect","sessionid":6467349943156736,"url":"https://myapplicationing.com/go?id\u003d1000"}

这里为什么是ENCODING JSON String。它将“=”替换为“\u003d”。

我试过这个:

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
resp.getWriter().println(gson.toJson(json));

但是不工作。关于此的任何解决方案。

最佳答案

\u003d= 的 unicode 表示。解析JSON时可以将其转换回=

看看http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringEscapeUtils.html将 unicode 字符转换为普通字符串。

关于java - Servlet JSON 响应 ENCODING 问题 For "=",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com