在单元测试中打印Jersey JSON

时间:2012-05-15 02:46:06

标签: json jaxb jersey

有没有简单的方法

  • 打印JAXB带注释的实例
  • 采用JSON格式(正如运动衫将在AS中打印)
  • 在运行单元测试时
  • 没有启动任何嵌入式服务器?

我可以使用JAXBContext,Marshaller等运行并查看XML。

JSON有什么示例吗?


我找到了。它与JAXB类似。

Jersey API

final JSONJAXBContext context = new JSONJAXBContext(...);

final JSONMarshaller marshaller = context.createJSONMarshaller();
marshaller.marshallToJSON(...);

final JSONUnmarshaller unmarshaller = context.createJSONUnmarshaller();
final T unmarshalled = unmarshaller.unmarshalJAXBElementFromJSON(
        ..., T.class).getValue();

对于Maven

<dependency>
  <groupId>com.sun.jersey</groupId>
  <artifactId>jersey-json</artifactId>
  <scope>test</scope>
</dependency>

1 个答案:

答案 0 :(得分:2)

有可能:

...
StringWriter writer = new StringWriter();
marshaller.marshallToJSON(objectToMarshall, writer)
logger.debug(writer.toString());
...

您可以使用StringWriter获取已编组的JSON输出的String表示。