Gson 常用用法
来源:互联网 发布:大宗商品数据终端 编辑:程序博客网 时间:2024/06/09 13:42
Gson下载的话大家可以去网上找下,下载jar加入到项目工程就可以使用。本文主要讲Gson一些常用用法。
toJson就是转为Json,fromJson就是解析Json。
有:
一.数组类型与Gson之间的相互转换
二.Bean对象 与Gson之间的相互转换
三.List集合类型与 Json 转换
四.Map与Gson,和List差不多
一.数组类型与Gson之间的相互转换
Gson gson = new Gson();int[] ints = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };String[] strings= { "Onw", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten" };String intsJson = gson.toJson(ints);String stringsJson = gson.toJson(strings);System.out.println("intsJson --->>> " + intsJson);System.out.println("stringsJson --->>> " + stringsJson);输出结果为intsJson --->>> [1,2,3,4,5,6,7,8,9,10]stringsJson --->>> ["Onw","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"]
好像没什么变化,数组类型与Json间用的比较少。继续看下面
二.Bean对象 与Gson之间的相互转换
假如现在有个对象Personpublic class Person {int age;String name;public Person(int age , String name) {// TODO Auto-generated constructor stubthis.age = age;this.name = name;}}
然后
Gson gson = new Gson();Person person = new Person(23 , "Hong");String personJson = gson.toJson(person);System.out.println("PersonJson --->>>" + personJson);输出 PersonJson --->>>{"age":23,"name":"Hong"}然后要把Json转为对象的话。这里\" 才表示一个双引号Person personFromJson = gson.fromJson("{\"age\":23,\"name\":\"Hong\"}" , Person.class);
List<Person> list = new ArrayList<Person>();for(int i = 0 ; i < 5 ; i++){list.add(new Person(i, "Hong" + i + i));}String listJson = gson.toJson(list);System.out.println("List >>--" + listJson );输出结果为:List>>--[{"age":0,"name":"Hong00"},{"age":1,"name":"Hong11"},{"age":2,"name":"Hong22"},{"age":3,"name":"Hong33"},{"age":4,"name":"Hong44"}]是不是感觉很好用!
List的JSON再转为List<> 的话 ,需要用到 Type .Type 为 java.lang.reflect.Type 包下的 Type type = new TypeToken<List<Person>>(){}.getType(); List<Person> personList = gson.fromJson(listJson , type); for (Person person : personList) { System.out.println("person age = " + person.age); }输出结果就不贴了
四.Map与Gson,和List差不多
Map<String, String> colours = new HashMap<String, String>(); colours.put("BLACK", "#000000"); colours.put("RED", "#FF0000"); colours.put("GREEN", "#008000"); String mapJson = gson.toJson(colours); System.out.println("MapJson = " + mapJson);输出结果MapJson = {"RED":"#FF0000","BLACK":"#000000","GREEN":"#008000"}
Type type = new TypeToken<Map<String, String>>(){}.getType(); Map<String, String> map = gson.fromJson(mapJson, type); for (String key : map.keySet()) { System.out.println("map.get = " + map.get(key)); }
细心对比发现主要是TypeToke里面参数变了另一个而已。
Gson常用的用法大概就是这样。
1 0
- gson常用用法小结
- gson常用用法小结
- Gson 常用用法
- gson常用用法小结
- Gson入门篇——常用用法
- Gson用法
- Gson的简要用法
- Gson的基本用法
- Android Gson用法
- Android Gson用法
- Gson的简单用法
- Gson的用法
- Gson用法1
- Gson用法详解
- GSON的用法
- Gson用法整理
- Gson用法整理
- Gson用法一
- LA 3641 - Leonardo's Notebook(置换群)
- Hadoop的一些认识--------我与Hadoop不得不说的故事
- 19 | 本地化(国际化)
- 项目经理之软件项目经理必须具备的素质
- 关于Java 中回调函数的一些理解及与JavaScript的对比
- Gson 常用用法
- Eclipse“控制台”视图详解
- 短彩信文档
- 深入理解Dalvik虚拟机- Android应用进程启动过程分析
- 应用 (App) 和移动端网站 (Mobile Web) 的优缺点及适用领域
- poj 2407 Relatives
- python 面向对象高级编程
- 项目经理之提高会议效率
- Fragment更容易实现页面的切换