GSON解析JSON
2016-06-26 16:14
453 查看
使用谷歌的gson解析json
* 谷歌的gson.jar
*
* 总结:
* 1、Gson类对象中可以添加json文件的对象类型和数组类型
* 2、可以把json文件转换为java的对象(包括集合),或者java的对象(包括集合)转换为json格式的字符串
* 需要实现TypeToken泛型接口,调用getType()方法,并且给出需要转换的具体类型
*
* 注意:java对象转换为json格式的字符串时,如果该属性值为null值,那么在字符串中没有添加进去
* 附注:GsonBuilder类是一个Gson构造器,可以显示属性值为null的属性
*/
* 谷歌的gson.jar
*
* 总结:
* 1、Gson类对象中可以添加json文件的对象类型和数组类型
* 2、可以把json文件转换为java的对象(包括集合),或者java的对象(包括集合)转换为json格式的字符串
* 需要实现TypeToken泛型接口,调用getType()方法,并且给出需要转换的具体类型
*
* 注意:java对象转换为json格式的字符串时,如果该属性值为null值,那么在字符串中没有添加进去
* 附注:GsonBuilder类是一个Gson构造器,可以显示属性值为null的属性
*/
public class Gsonjson { public static void main(String[] args) throws Exception { /** * 1、Gson对象的使用 */ //创建Gson对象 Gson gson=new Gson(); //java里面的对象转换为json格式的字符串 String json=gson.toJson(new Student(1001,"杨钰莹",98.9)); //java里面的List对象转换为json格式的字符串 String array=gson.toJson(JSONUtil.getListData()); //json格式的字符串转换为java对象(List集合对象) //fromJson()方法 //参数1:json格式的字符串 //参数2:实现TypeToken泛型接口(匿名内部类),调用getType()方法,并且给出具体转换的类型 List<Student>list=gson.fromJson(array, new TypeToken<List<Student>>(){}.getType()); /* for(Student student:list){//遍历集合 System.out.println(student); }*/ //Student student=gson.fromJson(json, new TypeToken<Student>(){}.getType()); //解析本地的json文件 InputStream inputStream=new FileInputStream("student.json"); BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuffer buffer=new StringBuffer();// 缓冲字符串 String json1=null;//接收每次读取的字符串 while((json1=reader.readLine())!=null){ buffer.append(json1.trim());//拼接到缓冲字符串,去掉空格 } json1=buffer.toString();//把读取的字符数据赋值给字符串 //把json格式的字符串转换为java对象(List集合对象) List<Student>list1=gson.fromJson(json1, new TypeToken<List<Student>>(){}.getType()); for(Student stu:list1){//遍历集合 System.out.println(stu); } /** * 2、GsonBuilder构造器的使用 */ System.out.println("========================================================="); //方法链 //serializeNulls()方法,将null的属性显示出来 //create()方法,创建Gson对象 Gson gson2=new GsonBuilder().serializeNulls().create(); System.out.println("Gson添加的对象:"+gson.toJson(new Student())); System.out.println("GsonBuilder添加的对象"+gson2.toJson(new Student())); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序