工具篇-Json处理

时间:2019-04-20
本文章向大家介绍工具篇-Json处理,主要包括工具篇-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");