下面列出了com.fasterxml.jackson.databind.ObjectMapper#writeTree ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public ServiceResponse<String> toJson(byte bytes[]) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
// read message pack
ObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory());
JsonNode node = objectMapper.readTree(bytes);
// write json
JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(bos);
objectMapper.writeTree(jsonGenerator, node);
} catch (IOException | NullPointerException e) {
LOGGER.error("Exception converting message pack to JSON", e);
return ServiceResponseBuilder.<String>error().build();
}
return ServiceResponseBuilder.<String>ok().withResult(new String(bos.toByteArray())).build();
}
@Override
public ServiceResponse<byte[]> fromJson(String json) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
// read json
ObjectMapper objectMapper = new ObjectMapper(new JsonFactory());
JsonNode node = objectMapper.readTree(json);
// write message pack
MessagePackFactory messagePackFactory = new MessagePackFactory();
JsonGenerator jsonGenerator = messagePackFactory.createGenerator(bos);
objectMapper.writeTree(jsonGenerator, node);
} catch (IOException e) {
LOGGER.error("Exception converting message pack to JSON", e);
return ServiceResponseBuilder.<byte[]>error().build();
}
return ServiceResponseBuilder.<byte[]>ok().withResult(bos.toByteArray()).build();
}
public SampleTweet() throws IOException {
ObjectMapper om = new ObjectMapper();
JsonFactory factory = new JsonFactory();
ImmutableList.Builder<String> b = ImmutableList.builder();
InputStreamReader reader = new InputStreamReader(this.getClass().getResourceAsStream("sample_tweet.json"));
try {
String tweetArray = CharStreams.toString(reader);
ArrayNode parsed = (ArrayNode)om.readTree(tweetArray);
for (JsonNode tweet : parsed) {
StringWriter sw = new StringWriter();
om.writeTree(factory.createGenerator(sw), tweet);
b.add(sw.toString());
}
sampleTweet = Iterators.cycle(b.build());
} finally {
reader.close();
}
}
public void writeToWriter(Writer writer, Object input) {
final ObjectMapper objectMapper = dataFormat.getObjectMapper();
final JsonFactory factory = objectMapper.getFactory();
try {
JsonGenerator generator = factory.createGenerator(writer);
objectMapper.writeTree(generator, (JsonNode) input);
}
catch (IOException e) {
throw LOG.unableToWriteJsonNode(e);
}
}