工具篇-Json处理

1. @JsonProperty和@SerializedName注解

  • 使用场景
将一个json格式的字符串转换成某个java对象,或者将一个java对象转换成json格式的字符串时,如果json字符串中的字段跟java对象中定义的属性名不一致,需要在java对象的属性上加上@JsonProperty或@SerializedName进行转换。
  • 示例
1 @JsonProperty("jsonName")
2 private String name;
或者
1 @SerializedName("jsonName")
2 private String name;
  • 区别
JsonProperty注解使用的是 Jackson包,SerializedName注解使用的是 Gson包,使用时避免包冲突。附上两个包的官方网站:

2. Json串转换成JSONObject

  • 使用fastjson

原始字符串:
1 {"header":{"code":0,"message":"SUCCESS"},"data":{"id":48,"metric.name":"test_hk_1","metric.type":"kafka_commit","partition.lag":false,"group.id":""}}
转换过程:
1 import com.alibaba.fastjson.JSONObject;
2 JSONObject jsonObject = JSONObject.parseObject(contentAsString).getJSONObject("data");

猜你喜欢

转载自www.cnblogs.com/lcmichelle/p/10742800.html
今日推荐