使用Jackson的JSON包,判断JSON是否相等
来源:互联网 发布:java培训机构排名 编辑:程序博客网 时间:2024/05/15 23:45
一般来说,使用google贡献的Gson包完全可以实现这个功能,但是由于某种原因(copyright or else,said by mentor Yang),这里使用Jackson提供的JSON包实现,这个实现也非常强大。
1. 首先需要下载jar包:jackson-databind-2.4.4.jar jackson-annotations-2.4.4.jar jackson-core-2.4.2.jar,
网址在:http://wiki.fasterxml.com/JacksonDownload
2.实现判断功能
2.1 不使用POJO类
import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;String str1 = "{\"properties\":{\"packet\":{\"recorded_at\":\"2015-09-02 04:45:45 +0000\",\"userId\":\"100000000000001\",\"meta\":{\"account\":\"xxx\",\"event\":\"track\"},\"fields\":{\"gyroData\":{\"rotation_y\":-1,\"rotation_z\":-1,\"rotation_x\":-1},\"accelerometerData\":{\"acceleration_x\":-1,\"acceleration_z\":-1,\"acceleration_y\":-1},\"location\":{\"speed\":4.68,\"speed_course\":0.7,\"horizontal_accuracy\":10,\"longtitude\":-122.02359082,\"vertical_accuracy\":-1,\"latitude\":37.33385024},\"pedometerData\":{\"step_count\":0}},\"recorded_sample_rate\":5}},\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.33385024,-122.02359082]},\"type\":\"Feature\"}";String str2 = "{\"properties\":{\"packet\":{\"recorded_at\":\"2015-09-02 04:45:45 +0000\",\"userId\":\"100000000000001\",\"meta\":{\"account\":\"xxx\",\"event\":\"track\"},\"fields\":{\"gyroData\":{\"rotation_y\":-1,\"rotation_z\":-1,\"rotation_x\":-1},\"accelerometerData\":{\"acceleration_x\":-1,\"acceleration_z\":-1,\"acceleration_y\":-1},\"location\":{\"speed\":4.68,\"speed_course\":0.7,\"horizontal_accuracy\":10,\"longtitude\":-122.02359082,\"vertical_accuracy\":-1,\"latitude\":37.33385024},\"pedometerData\":{\"step_count\":0}},\"recorded_sample_rate\":5}},\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.33385024,-122.02359082]},\"type\":\"Feature\"}"; ObjectMapper mapper = new ObjectMapper(); JsonNode doc = mapper.readTree(str1); ObjectMapper mapper1 = new ObjectMapper(); JsonNode doc1 = mapper1.readTree(str2); System.out.println(doc.equals(doc1));
2.2 使用POJO类
还是将POJO类中的属性和JSON中的key名称一一对应。
主要就是ObjectMapper的使用。
ObjectMapper mapper = new ObjectMapper();Bean bean = mapper.readValue(new File("custom.json"), Bean.class);
具体请参考下面链接,reference:
使用Jackson框架解析Json示例
推荐一个将JSON字符串格式化的工具:http://pro.jsonlint.com/
当你拿到一堆复杂没有格式化的JSON字符串时,很难看清其中的结构,从而不能更快的创建POJO类,使用这个工具就一目了然了。
同时,这里也像上篇一样,提供一份Online Doc(v2.2.2):点击这里。
0 0
- 使用Jackson的JSON包,判断JSON是否相等
- Jackson之JSON包的使用分析
- Jackson之JSON包的使用分析
- Jackson的使用(json解析)
- 最快的json包jackson使用方法
- jackson使用--注解json
- [javase][json] org.codehaus.jackson的使用
- 使用jackson的ObjectMapper json转object
- Json解析之jackson的使用
- Jackson的Json转换
- Jackson的Json转换
- Jackson的Json转换
- JSON的解析[Jackson]
- Jackson json的研究
- Spring4.x.x MVC 中使用jackson的包进行json转换需要注意
- ObjectMapper--Jackson包中重要的Json转化方法
- 用jackson包实现json、对象、Map之间的转换
- 使用jackson去解析json
- 在路上——今天的努力对得起昨天的梦想
- AFNetworking的图片、视频下载并保存到指定的app的Caches目录下
- Thinking in java 之:静态数据的初始化及初始化顺序
- 鼠标放在文章标题上,下划线改变颜色
- qml-------------实现一个简单的图片加载程序
- 使用Jackson的JSON包,判断JSON是否相等
- 为自定义的类写<<(输出)操作符
- ViewPager添加圆点
- linux tomcat创建文件夹乱码(显示:???)
- mac 提示This client is too old to work with the working copy at...
- 关于dB单位的一些总结
- 2014届华为上机题目及参考答案
- mybatis显示sql语句 log4j.properties配置文件
- Java性能优化(11):考虑实现Comparable接口