【问题标题】:map to json object映射到 json 对象
【发布时间】:2012-07-12 14:48:17
【问题描述】:

我正在尝试将通用类型的地图转换为 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}

我怎样才能拥有子地图的数组或父地图?

【问题讨论】:

  • 您必须重新解析才能将孩子作为地图
  • 从某种意义上说重新解析?分别发送父母和孩子?
  • 当你从 json 获取父级作为 map 时,子级仍然是 json。如果我了解您的问题

标签: java javascript ajax json


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 2014-11-07
      • 2017-12-24
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      相关资源
      最近更新 更多