前言:项目需要从webservice中读取数据(Json字符串)
方法:将Json字符串转换成实体类,呈现数据时比较方便
弯路:之前用net.sf.json.JSONObject这个类做转换,但是报错-类型匹配
解决方法:使用Jackson
1、jar:jackson-mapper-asl-1.9.13.jar、jackson-core-lgpl-1.9.13.jar
注:maven可以直接导入下面
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>1.9.13</version>
</dependency>
2、构造实体类接Json
这里推荐使用:http://www.bejson.com/json2javapojo/
将Json粘贴过去之后就直接可以生成实体类
3、最后就是接的问题了,我贴下代码
ObjectMapper mapper = new ObjectMapper();
Root root = new Root();
try {
root = mapper.readValue(jsonStr,
new TypeReference<Root>() {
});
} catch (Exception e) {
e.printStackTrace();
}
Root就是用来接Json的类