这段代码基本上采用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。我觉得有更好的方法。有什么想法吗?
答案 0 :(得分:0)
好吧,JAXB本身甚至不会开始生成JSON,所以你还在使用其他东西(也许通过Jersey使用它)。所以也许包装有问题。
但是为什么要尝试用org.json对象呢?只需使用具有预期类型的常规Java bean,从您拥有的任何输入bean创建它。不需要魔术,只需要明确的代码。