二、解析Json:
(1)JavaBean
在CODE上查看代码片派生到我的代码片。
Class class= JSON.parseObject(jsonString, Class.class); 。
(2)List<JavaBean>。
在CODE上查看代码片派生到我的代码片。
List<Class> class=JSON.parseArray((jsonString, Class.class); 。
(3)List<String>。
在CODE上查看代码片派生到我的代码片。
List<String> listString = JSON.parseArray(jsonString, String.class); 。
(4)List<Map<String,Object>>。
在CODE上查看代码片派生到我的代码片。
List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});。
可以解析
注意两点:
1. 类的成员的命名要与json中对应的“对象/数组”名称一致。
2. 嵌套成内部类也是可以解析的。
可以说fastjson还是很强大的。
这个是要解析的json数据
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.song.getInfos&format=json&songid=8059247&ts=1408284347323&e=JoN56kTXnnbEpd9MVczkYJCSx%2FE1mkLx%2BPMIkTcOEu4%3D&nw=2&ucf=1&res=1。
我建了一个fall类
package day15Prac;。
public class Fall {。
private static Fsongurl songurl = new Fsongurl();。
private String error_code;。
private static Fsonginfo songinfo = new Fsonginfo();。
public Fsongurl getSongurl() {。
return songurl;。
public void setSongurl(Fsongurl songurl) {。
this.songurl = songurl;。
1. fastjson生成和解析json数据。
(举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>)。
2.通过一个android程序测试fastjson的用法。
fastjson简介:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持son.org的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里云手机等环境。
一. fastjson生成json字符串(JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>)。
String jsonStrng = JSON.toJSONString(object);。
二. fastjson 解析json字符串为四种类型。
1. JavaBean
Person person = JSON.parseObject(jsonString, Person.class);。
2. List<JavaBean>。
List<Person> listPerson =JSON.parseArray(jsonString, Person.class);。
3. List<String>。
List<String> listString = JSON.parseArray(jsonString, String.class);。
4. List<Map<String,Object>>。
List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){}); (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0。
用fastjson来解析,其有个工具类JSON可以直接把字符串解析为JSONObject,如果你有对应的java类,还可以直接解析为Java对象用fastjson来解析,其有个工具类JSON可以直接把字符串解析为JSONObject,如果你有对应的java类,还可以直接解析为Java对象用fastjson来解析,其有个工具类JSON可以直接把字符串解析为JSONObject,如果你有对应的java类,还可以直接解析为Java对象。
原文地址:http://www.qianchusai.com/fastjson%E8%A7%A3%E6%9E%90%E5%B5%8C%E5%A5%97json.html