将JSON字符串转换成java中的POJO对象。在fastJson中已经有提供好的方法:JSON.parseObject(json字符串,对象.class);使用方式如下:
package json; import com.alibaba.fastjson.JSON; public class TestJson { String name; String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public static void main(String[] args) { String jsonStr = "{\"name\":\"james\", \"age\":12}"; TestJson test = JSON.parseObject(jsonStr, TestJson.class); System.out.printf("Name = %s, age = %s", test.getName(), test.getAge()); } }
运行后结果如下:
Name = james, age = 12
使用jar包:fastjson-1.1.36.jar包
parseObject(String str)的作用
JSON.parseObject(String str)是将str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使用其内置的方法,进行各种处理了。
JSON.parseObject(String str)与 JSONObject.parseObject(String str)的区别
根据源码显示:JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseObject(String text),一个是用子类去调用父类的静态parseObject(String text),两者调的是同一个方法。
参考:
https://segmentfault.com/q/1010000005733442
http://blog.csdn.net/dafeige8/article/details/73924034