1.导入依赖
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
2.测试用对象
public class VoucherDzDetailResponse { private String eInvoiceId; private String fileUrl; private Contents Content;
}
3.测试demo
@Test public void TestObjectMapper() throws Exception{ ObjectMapper objectMapper = new ObjectMapper(); //序列化的时候序列对象的所有属性 objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); //反序列化的时候如果多了其他属性,不抛出异常 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); //如果是空对象的时候,不抛异常 objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); //取消时间的转化格式,默认是时间戳,可以取消,同时需要设置要表现的时间格式 objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); VoucherDzDetailResponse voucherDzDetailResponse = new VoucherDzDetailResponse(); voucherDzDetailResponse.setFileUrl("http://221.7.95.99:1919"); voucherDzDetailResponse.setEInvoiceId("475200"); String value = objectMapper.writeValueAsString(voucherDzDetailResponse); System.out.println(value); VoucherDzDetailResponse response = objectMapper.readValue(value, VoucherDzDetailResponse.class); System.out.println(response); System.out.println("结束标志"); }
将map与json相互转化同理
@Test public void TestObjectMapper2() throws Exception{ ObjectMapper objectMapper = new ObjectMapper(); //序列化的时候序列对象的所有属性 objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); //反序列化的时候如果多了其他属性,不抛出异常 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); //如果是空对象的时候,不抛异常 objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); //取消时间的转化格式,默认是时间戳,可以取消,同时需要设置要表现的时间格式 objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); Map map = new HashMap(); map.put("fileUrl","http://221.7.95.99:1919/eServer/zlb/getofdz"); map.put("eInvoiceId","475200"); String value = objectMapper.writeValueAsString(map); System.out.println(value); Map response = objectMapper.readValue(value, Map.class); System.out.println(response); System.out.println("结束标志"); }