0

我正在尝试为 Spring MVC 创建一个控制器,它将返回 Badgerfish 格式的 JSONP。我的代码目前使用 Jackson 正确创建 JSONP,但我不知道如何指定 Badgerfish 格式。假设这callback是回调函数的名称并且summary是我的 jaxb 对象,那么我的代码当前是

ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.writeValueAsString(new JSONPObject(callback,summary));

有没有办法使用 Jackson 来做到这一点,或者我必须使用另一个框架?我找到了一种使用 RestEasy 生成 Badgerfish 的方法,但仅适用于 JSON。

4

1 回答 1

0

实际上,我设法用 Jettison 解决了这个问题(我没有找到用杰克逊解决这个问题的方法)。所需的代码是

Marshaller marshaller = null;
Writer writer = new StringWriter();
AbstractXMLStreamWriter xmlStreamWriter = new BadgerFishXMLStreamWriter(writer);
try {
    marshaller = jaxbContextSummary.createMarshaller();
    marshaller.marshal(myObject, xmlStreamWriter);
} catch (JAXBException e) {
    logger.error("Could not construct JSONP response", e);
}
于 2015-05-11T13:20:53.603 回答