0

我正在尝试将通用类型的地图转换为 JSON 对象并将其发送到 UI,但我只得到父地图,其中的地图以字符串形式出现。

例子,

      JSONObject obj = new JSONObject();
      Map parent = new HashMap();
      parent.put("key1", "value1");
      Map child = new HashMap();
      child.put("childKey", "childValue");
      parent.put("map1", child);
      obj.put("result", parent);
      return obj.toString();

请忽略语法错误。上面的代码正确地给了我父地图

父 [key1] - value1

父 [map1] - 子

但是当我看到孩子像孩子一样像字符串一样出现时 - {childkey=childvalue}

我如何才能拥有子地图的数组或父地图?

4

2 回答 2

0

这里只是一个想法,但您可能想利用 Jackson JSON 库。他们的对象映射器和注释极大地简化了您处理 JSON 的方式,并且几乎将它与您的 POJO 分离。

于 2012-07-12T19:12:37.053 回答
0

在 JSON 中,顶级对象没有被命名(因为它不是另一个对象的属性)。因此,您只需要添加另一个更高级别的对象(或数组)即可查看命名的父级(作为顶级对象的属性)。但是您生成的 JSON 已经是有效的,并且已经是我期望看到的 JavaScript 使用者。

于 2012-07-12T19:16:41.477 回答