JSON Parser

一种快速简洁解析JSON数据接口的方法

眉间皱痕 提交于 2020-03-07 20:08:28
Jackson提供了两种不同的JSON解析器: (1)ObjectMapper:把JSON解析到自定义的Java类中,或者解析到一个Jackson指定的树形结构中; (2)Jackson JsonParser:一种“拉式”解析器,每次解析一组JSON数据。 本文介绍第一种方法:使用 ObjectMapper。 一.使用前准备 Jackson包含一个core jar,和两个依赖core jar的jar,如图: 其中:Jackson Annotations依赖Jackson Core,Jackson Databind依赖Jackson Annotations。 把上面三个jar包添加到项目中。 二.使用示例 调用阿里云一个查询城市经纬度信息的接口为例。首先要知道解析接口返回JSON数据的格式: {"lon":121.4737,"level":1,"address":"","cityName":"上海市","alevel":4,"lat":31.23041} (1)根据JSON格式,准备对应的实体类,存储解析后的JSON数据:CityGeoEntity.java 使用@JsonProperty("xxx")注解表示,实体类中 某个成员变量 对应 Json串中某个字段 ,成员变量名可以不与Json串中属性同名,但 一定要保证 @JsonProperty("xxx")

Google Gson的使用方法及JSON 技术对比

青春壹個敷衍的年華 提交于 2019-11-27 06:10:49
一 、各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包, 包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。json-lib在功能和性能上面都不能满足现在互联网化的需求。 2.开源的Jackson 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式 3.Google的Gson Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,