3 回答
TA贡献2021条经验 获得超8个赞
问题是由以下原因引起的:
tjsonObject.addProperty("channels", gson.toJson(channelsList));
它所做的是转换channelsList为包含 JSON 列表表示的字符串,然后将该属性设置为该字符串。由于字符串包含 JSON 元字符,当字符串被序列化时它们必须被转义......第二次。
我认为你需要这样做:
tjsonObject.add("channels", gson.toJsonTree(channelsList));
那应该产生这个:
{
"tags": {
"channels":
[{"type":"channel","id":"channel","name":"Channel","parent":"SXM"}],
"shows":
[{"type":"shows","id":"shows","name":"Shows","parent":"SXM"},
{"type":"shows","id":"howard","name":"Howard Stern","parent":"shows"}
....
这与您的问题要求的略有不同,但它的优点是语法有效 JSON!
TA贡献1835条经验 获得超7个赞
String mainJsonStr = mainjsonObject.toString();
mainJsonStr = mainJsonStr.replace("\\\\", ""); //replace the \
System.out.println(mainJsonStr);
添加回答
举报