![](/img/trans.png)
[英]How to alter Jettison JSON format to exclude outer object wrapper?
[英]JSON/Jettison wrong format in string started with / (slash)
我想要这个JSON:
{"lala":{"any":1,"/doc/h2":1}}
但是使用Jetisson( http://jettison.codehaus.org/ )如下例所示:
JSONObject extractJson = new JSONObject();
int i = 1;
extractJson.put("lala", new JSONObject()
.put("any",1)
.put("/doc/h" + (i+1), 1) # HERE!
);
System.out.println(extractJson.toString());
返回此:
{"lala":{"any":1,"\/doc\/h2":1}}
在任何'/'前面加上一个额外的'\\'
我的问题是:为什么? 如何生成正确的json?
任何想法?
默认情况下,您的资料库(jettison)换码符看上去似乎很有限。 对于json来说还可以,并且任何解析器都应该能够在解析时再次转义它们。
显然,根据JSON:为什么要转义正斜杠? 这是因为HTML,尤其是脚本标签。
如果您真的不想要它们,则有两种选择:
如果您可以选择切换库, 那么GSON可以轻松做到这一点:
JsonObject jsonObj = new JsonObject();
jsonObj.addProperty("field1", 5);
jsonObj.addProperty("/doc/h2", 1);
System.out.println(jsonObj.toString());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.