您的位置:首页 > Web前端 > JavaScript

Gson and Json

2016-07-21 15:48 483 查看


json解析:[1]gson解析json

Gson是谷歌推出的解析json数据以及将对象转换成json数据的一个开源框架. 现在json因其易读性和高效率而被广泛的使用着. 

相对于java以及其它json的解析框架,Gson非常的好用.

简单来讲就是根据json的数据结构定义出相应的javabean --->"new"出Gson的实例gson---->gson.fromJson(jsonString,JavaBean.class) 即可.

客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象。但是用jsonObject和jsonArray解析相对麻烦。利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象

类型一:JavaBean

类型二:List<JavaBean>

类型三:List<String>

类型四:List<Map<String,Object>>

将上面的四种数据对象转换成json字符串的方法都是一样的

   Gson gson = new Gson();

   String jsonString = gson.toJson(obj);


工具/原料

gson.jar下载地址 code.google.com/p/google-gson/downloads/list

网盘地址 :pan.baidu.com/s/1dDxe6uX


方法/步骤

1

将json字符串转化成JavaBean对象

Person person = new Person("1","gson",1);

Gson gson = new Gson();

//这里将javabean转化成json字符串

String jsonString = gson.toJson(person);

System.out.println(jsonString);

//这里将json字符串转化成javabean对象,

person = gson.fromJson(jsonString,Person.class);

2

将json字符串转化成List<JavaBean>对象

Person person1 = new Person("1","gson1",1);

Person person2 = new Person("2","gson2",2);

List<Person> persons = new ArrayList<Person>();

persons.add(person1);

persons.add(person2);

Gson gson = new Gson();

//这里将lsit<javabean>转化成json字符串

String jsonString = gson.toJson(persons);

//解析json字符串

List<Person> persons2 = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType());

3

将json字符串转化成List<String>对象

List<String> list = new ArrayList<String>();

list.add("gson1");

list.add("gson2");

list.add("gson3");

Gson gson = new Gson();

String jsonString = gson.toJson(list);

System.out.println("json字符串:"+jsonString);

//解析json字符串

List<String> list2 = gson.fromJson(jsonString, new TypeToken<List<String>>(){}.getType());

4

将json字符串转化成List<Map<String,Object>>对象

Map<String,Object> map = new HashMap<String,Object>();

map.put("key1", "value1");

map.put("key2", "value2");

Map<String,Object> map2 = new HashMap<String,Object>();

map2.put("key1", 1);

map2.put("key2", 2);

List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();

list.add(map);

list.add(map2);

Gson gson =  new Gson();

String jsonString = gson.toJson(list);

System.out.println("json字符串:"+jsonString);

//解析json字符串

List<Map<String,Object>> list2 = gson.fromJson(jsonString, new TypeToken<List<Map<String,Object>>>(){}.getType());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: