Gson
来源:互联网 发布:unity3d卡牌游戏教程 编辑:程序博客网 时间:2024/06/05 03:48
JSON 解析
2017/9/29 10:55:47
gson
网址
官方
http://www.gson.org/
使用
http://search.maven.org/#artifactdetails%7Ccom.google.code.gson%7Cgson%7C2.8.1%7C
历史版本
http://repo1.maven.org/maven2/com/google/code/gson/gson/
使用
Bean
public class Person { private String name; private String age; private String sex; private String email; public Person(String name, String age, String sex, String email) { this.name = name; this.age = age; this.sex = sex; this.email = email; } 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 String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age='" + age + '\'' + ", sex='" + sex + '\'' + ", email='" + email + '\'' + '}'; }}
使用
import bean.Person;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.util.ArrayList;import java.util.List;public class Demo { public static void main(String[] args) { //创建对象 Person p1 = new Person("hah1", "12", "man", "11231@123.com"); Person p2 = new Person("hah2", "14", "man", "11232@123.com"); Person p3 = new Person("hah3", "15", "woman", "11233@123.com"); Person p4 = new Person("hah4", "16", "man", "11234@123.com"); Person p5 = new Person("hah5", "17", "woman", "11235@123.com"); //创建集合 List<Person> persons = new ArrayList<>(); //添加对象 persons.add(p1); persons.add(p2); persons.add(p3); persons.add(p4); persons.add(p5); //实例化Gson Gson gson = new Gson(); //将对象转化为gson字符串 String s = gson.toJson(p1); String s1 = gson.toJson(persons); //打印gson字符串 System.out.println(s); System.out.println(s1); //将gson字符串转化为对象 Person person = gson.fromJson(s, Person.class); Object o = gson.fromJson(s1, new TypeToken<List<Person>>() { }.getType()); //强转 List<Person> ps = (ArrayList<Person>) o; //打印对象 System.out.println(person); System.out.println(ps); }}
效果
{"name":"hah1","age":"12","sex":"man","email":"11231@123.com"}[{"name":"hah1","age":"12","sex":"man","email":"11231@123.com"},{"name":"hah2","age":"14","sex":"man","email":"11232@123.com"},{"name":"hah3","age":"15","sex":"woman","email":"11233@123.com"},{"name":"hah4","age":"16","sex":"man","email":"11234@123.com"},{"name":"hah5","age":"17","sex":"woman","email":"11235@123.com"}]Person{name='hah1', age='12', sex='man', email='11231@123.com'}[Person{name='hah1', age='12', sex='man', email='11231@123.com'}, Person{name='hah2', age='14', sex='man', email='11232@123.com'}, Person{name='hah3', age='15', sex='woman', email='11233@123.com'}, Person{name='hah4', age='16', sex='man', email='11234@123.com'}, Person{name='hah5', age='17', sex='woman', email='11235@123.com'}]
fastjson
网址
https://github.com/alibaba/fastjson
使用
import bean.Person;import com.alibaba.fastjson.JSON;import java.util.ArrayList;import java.util.List;public class Demo { public static void main(String[] args) { //创建对象 Person p1 = new Person("hah1", "12", "man", "11231@123.com"); Person p2 = new Person("hah2", "14", "man", "11232@123.com"); Person p3 = new Person("hah3", "15", "woman", "11233@123.com"); Person p4 = new Person("hah4", "16", "man", "11234@123.com"); Person p5 = new Person("hah5", "17", "woman", "11235@123.com"); //创建集合 List<Person> persons = new ArrayList<>(); //添加对象 persons.add(p1); persons.add(p2); persons.add(p3); persons.add(p4); persons.add(p5); //将对象转化为字符串 String s = JSON.toJSONString(p1); String s1 = JSON.toJSONString(persons); //打印字符串 System.out.println(s); System.out.println(s1); //将字符串转化为对象 Person person = JSON.parseObject(s, Person.class); List<Person> people = JSON.parseArray(s1, Person.class); //打印对象 System.out.println(person); System.out.println(people); }}
效果
{"age":"12","email":"11231@123.com","name":"hah1","sex":"man"}[{"age":"12","email":"11231@123.com","name":"hah1","sex":"man"},{"age":"14","email":"11232@123.com","name":"hah2","sex":"man"},{"age":"15","email":"11233@123.com","name":"hah3","sex":"woman"},{"age":"16","email":"11234@123.com","name":"hah4","sex":"man"},{"age":"17","email":"11235@123.com","name":"hah5","sex":"woman"}]Person{name='hah1', age='12', sex='man', email='11231@123.com'}[Person{name='hah1', age='12', sex='man', email='11231@123.com'}, Person{name='hah2', age='14', sex='man', email='11232@123.com'}, Person{name='hah3', age='15', sex='woman', email='11233@123.com'}, Person{name='hah4', age='16', sex='man', email='11234@123.com'}, Person{name='hah5', age='17', sex='woman', email='11235@123.com'}]
原生解析
下载
https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.json%22%20AND%20a%3A%22json%22
使用
对象
//创建对象 JSONObject obj = new JSONObject(); //设置属性 obj.put("name", "haha1"); obj.put("age", "12"); obj.put("sex", "man"); obj.put("email", "1231@123.com"); //转化字符串 String s = obj.toString(); //打印 System.out.println(s);
数组
//创建数组 JSONArray jsonArray = new JSONArray(); //设置对象 jsonArray.put(new Person("haha1", "12", "man", "123123@123.com")); jsonArray.put(new Person("haha1", "12", "man", "123123@123.com")); String s1 = jsonArray.toString(); System.out.println(s1);
解析对象
JSONObject jsonObj = new JSONObject(s); Object name = jsonObj.get("name"); Object age = jsonObj.get("age"); Object sex = jsonObj.get("sex"); Object email = jsonObj.get("email"); System.out.println(name); System.out.println(age); System.out.println(sex); System.out.println(email);
解析数组
JSONArray jsonArray2 = new JSONArray(s1); for (int i = 0; i < jsonArray2.length(); i++) { JSONObject jsonObject = jsonArray2.getJSONObject(i); System.out.println(jsonObject); }
阅读全文
0 0
- Gson
- Gson
- Gson
- Gson
- GSON
- Gson
- Gson
- Gson
- Gson
- gson
- GSON
- Gson
- Gson
- Gson
- GSON
- gson
- gson
- Gson
- android 购物车
- Linux(CentOS6.5)下静默安装Weblogic12c(待完成)
- java基础--------基本类型转换为字符串的互相转化
- WebSocket刨根问底(转)
- 解析json数组
- Gson
- Android TabLayout使用以及自定义TabLayout
- instanceof与class的等价性
- UVA12663 线段树+二分
- bzoj1260 [CQOI2007]涂色paint 区间DP
- Swift 算法练习
- JS中的同步和异步过程。
- tcp/ip<3>
- OpenStack源码分析 Neutron源码分析(一)-----------Restful API篇