Utils:工具類:ObjectMapper

ObjectMapper

@Test
    public void test04() throws JsonProcessingException {
        EnterpriseInfoDTO enterpriseInfoDTO = new EnterpriseInfoDTO();
        People people =new People();
        people.setId(1L);
        people.setName("p-1");
        people.setCafsCustId("cafs_p");
        people.setAddressIdstring("ad_string");
        people.setAge(33L);



        Street street = new Street();
        street.setName("aaa");
        street.setAddressId(22L);
        street.setCafsCustId("strr-cafst");
        street.setId(3L);
//        street.setPeople(people);
//        people.setStreet(street);

        enterpriseInfoDTO.setPeople(people);
        enterpriseInfoDTO.setStreetList(Arrays.asList(street));

        Person person =new Person();
        person.setId(2L);
        person.setBirthday(new Timestamp(LocalDateTime.now().getSecond()));
        person.setName("zangs");
        person.setSex("1");


        enterpriseInfoDTO.setPerson(person);

        ObjectMapper objectMapper = new ObjectMapper();

        String value = objectMapper.writeValueAsString(enterpriseInfoDTO);
        System.out.println(value);

        Map map = objectMapper.readValue(value, Map.class);
        System.out.println("json字符串轉對象"+map);

        EnterpriseInfoDTO enterpriseInfoDTO1 = objectMapper.convertValue(map, EnterpriseInfoDTO.class);

        System.out.println("object等map轉dto結果:"+enterpriseInfoDTO1);

    }

 

************************************************

jackson json轉bean忽略沒有的字段 not marked as ignorable

@JsonIgnore註解用來忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法時,和Filed效果一樣。這個註解只能用在POJO存在的字段要忽略的情況,不能滿足現在需要的情況。
@JsonIgnoreProperties(ignoreUnknown = true),將這個註解寫在類上之後,就會忽略類中不存在的字段,可以滿足當前的需要。這個註解還可以指定要忽略的字段。使用方法如下:
@JsonIgnoreProperties({ "internalId", "secretKey" })
指定的字段不會被序列化和反序列化。
===========
代碼會返回tes對象爲null

正確在class上加

@JsonIgnoreProperties(ignoreUnknown = true)

public class tes

 

或者代碼控制

ObjectMapper objectMapper = new ObjectMapper();

objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

objectMapper.readValue(json,cls);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章