代码之家  ›  专栏  ›  技术社区  ›  thisgeek

将XML转换为JSON时将字符串转换为布尔值

  •  0
  • thisgeek  · 技术社区  · 16 年前

    这段代码基本上接受一个JAXB对象,并将其转换为一个JSONObject。

      StringWriter stringWriter = new StringWriter();
      marshaller.marshal(jaxbObj, stringWriter);
      try {
        JSONObject jsonObject = XML.toJSONObject(stringWriter.toString());
        resp.getOutputStream().write(jsonObject.toString(2).getBytes());
    
      } catch (JSONException e) {
        throw new ServletException("Could not parse JSON",e);
      }
    

    不幸的是,这种转换并没有将“true”这样的字符串转换为布尔值,而让可怜的前端人员来完成。

    我想我想以某种方式映射jsonObject中的值,调用 stringToValue 在每一个。我觉得有更好的方法。有什么想法吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   StaxMan    16 年前

    好吧,JAXB本身甚至不会首先生成JSON,所以您还使用了其他东西(可能通过Jersey使用它)。所以可能有问题的包裹有一些东西。

    但是为什么要尝试使用org.json对象呢?只需使用具有预期类型的规则Java bean,就可以从任何输入bean创建它。不需要魔法,只需要显式代码。