2012-05-15 23 views
5

Có cách nào đơn giảnIn Jersey JSON trong đơn vị kiểm tra

  • in một JAXB chú thích Ví dụ
  • ở định dạng JSON (như chính xác jersey sẽ in trong AS)
  • khi chạy kiểm tra đơn vị
  • không có máy chủ nhúng nào được khởi chạy?

Tôi có thể chạy và xem bằng XML với JAXBContext, Marshaller, v.v.

Có ví dụ nào về JSON không?


Tôi đã tìm thấy. Nó tương tự như JAXB.

Với 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(); 

cho Maven

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

Trả lời

2

Có thể:

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

Bạn có thể sử dụng một StringWriter để có những String đại diện cho đầu ra JSON được sắp xếp lại.