json 报文字段转换

转换

对象转JSON

objectMapping.writeValueAsString(obj)

JSON转对象

objectMapping.readValue(str, ojb.class)

说明

    - 转换时间格式:

类名 方法名
com.alibaba.fastjson.annotation.JSONField @JSONField(format =""yyyy-MM-dd HH:mm:ss"")
com.fasterxml.jackson.annotation.JsonFormat @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

       - json字符串中的key应该与java对象的属性名相同

    • java对象中属性如果为private,则需要显示生成getter/setter方法;如果属性为public,则可以不必写getter/setter方法
    • java对象如果有自定义的构造方法,json字符串转换为java对象时会出错
    • 如果json字符串中的属性个数小于java对象中的属性个数,可以顺利转换,java中多的那个属性为null
    • 如果json字符串中出现java对象中没有的属性,则在将json转换为java对象时会报错:Unrecognized field, not marked as ignorable
      解决方法:

      在目标对象的类级别上添加注解:@JsonIgnoreProperties(ignoreUnknown = true)

    • java对象名和json中名不一致时解决方法
      • 类名  方法名
        com.fasterxml.jackson.annotation.JsonProperty @JsonProperty(value = "k")
posted @ 2020-09-29 19:23  蜗牛coder  阅读(444)  评论(0编辑  收藏  举报