2012-05-15 6 views
5

Gibt es einen ebenen WegPrint Jersey JSON in Unit Testing

  • eine JAXB kommentierte Instanz
  • im JSON-Format drucken (wie genau das Trikot in AS gedruckt wird)
  • während Unit-Tests laufen
  • ohne eingebetteten Server gestartet?

Ich kann in XML mit JAXBContext, Marshaller und so weiter laufen und sehen.

Gibt es ein Beispiel für JSON?


Ich habe es gefunden. Es ist vergleichbar mit JAXB.

Mit 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(); 

für Maven

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

Antwort

2

Es ist möglich:

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

können Sie ein StringWriter verwenden, um die String zu nehmen Darstellung der Marshalled-JSON-Ausgabe.