将Map <enum,object =“”>转换为JSON </enum,>

时间:2015-02-18 19:39:42

标签: java json dictionary gson

我在服务器上构建一个json:

List<Object> resp = new ArrayList<>();
for (String str : buffer.toString().split("\\n")) {
    for (String data : str.split("\\s")) {
        if (data.matches("[\\w|\\W]+") && !data.isEmpty()) {
            Child.set(Child.children, "null");
            Child.set(Child.parent, chain.name());
            Child.set(Child.name, data);
        }
        Child.setChild(Child.get());
    }
}

Child.set(Child.children, Child.getChild().toArray());
Child.set(Child.parent, "null");
Child.set(Child.name, chain.name());

问题是Child是HashMap<Child, Object>但是当我将Child.set(Child.children, Child.getChild().toArray());放到Map中然后将Google对象与Google Gson转换为Json时,它会因错误而中断:

oejw.WebSocketConnectionRFC6455:java.lang.StackOverflowError

我认为问题不在于WebSocket,因为当我之前将Child.getChild().toArray()转换为json然后将其放到地图上时,没有任何错误,但生成的json并不完整校正。

1 个答案:

答案 0 :(得分:0)

问题在于转换为Json。 Gson转换为堆栈溢出错误。 使用JSONObject和JSONArray解决。