jackson

来源:互联网 发布:在淘宝上怎样联系客服 编辑:程序博客网 时间:2024/05/16 19:07
jackson是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。比之json_lib所用的包少的多,使用起来非常灵活,是目前json解析使用最多最佳的选择。本例子jackson可以使用Java项目也可以用于Android项目 下面以Android为例子
下面开始jackson之



1、导入jackson包
我这里使用的是jackson-all-1.9.10.jar
2、构建一个jackson工具类
public class JsonBinder{
}
在附件的源码中可以看到

3、实例化JsonBinder
在使用的类实例化
JsonBinder jsonBinder = JsonBinder.buildNonDefaultBinder();

4、object转json
object转化为jsonString 附:List也属于object 也可以直接把list转化为jsonString
/**
* 如果对象为Null,返回"null". 如果集合为空集合,返回"[]".
*/
public String toJson(Object object) {

try {
return mapper.writeValueAsString(object);
} catch (IOException e) {
Log.w("write to json string error:" + object, e);
return null;
}
}

5、json转object
把jsonString转化为object
/**
* 如果JSON字符串为Null或"null"字符串,返回Null. 如果JSON字符串为"[]",返回空集合.
*
* 如需读取集合如List/Map,且不是List<String>这种简单类型时使用如下语句: List<MyBean> beanList =
* binder.getMapper().readValue(listString, new
* TypeReference<List<MyBean>>() {});
*/
public <T> T fromJson(String jsonString, Class<T> clazz) {
if (StringUtils.isEmpty(jsonString)) {
return null;
}

try {
return mapper.readValue(jsonString, clazz);
} catch (IOException e) {
return null;
}
}

6、json转list
利用上面的方法直接把json转化为list会出现异常,使用再转JavaType 类型
/**
* jsonString转list
* @date:下午12:26:04
*/
@SuppressWarnings("hiding")
public <Object> Object stringToList(String jsonString, Class<?>... elementClasses) throws JsonParseException, JsonMappingException, IOException {
JavaType javaType = getCollectionType(elementClasses);
return mapper.readValue(jsonString, javaType);
}








Android,jackson,Java

QQ图片20140811162247.jpg (12.74 KB, 下载次数: 0)

下载附件保存到相册

2014-8-11 16:20 上传

QQ图片20140811162247.jpg

TestJson.rar

2014-8-11 16:13 上传

点击文件名下载附件

下载积分: 下载豆 -2

3.9 MB, 下载次数: 39, 下载积分: 下载豆 -2

jackson使用实例

0 0