谷歌的gson解析

1 . 谷歌:GSON
1).Gson gson = new Gson();
2).gson.fromJson(json,javabean.class)—>java的对象
3).gson.fromJson(json,new TypeToken

package com.qf.demo3;
/**
 * 一定要保证   类中的属性名 和 json字符串中 键 名字一样 , 才能解析出对应的数据
 */
public class Person {

    private String name;
    private int age;
    private Dept dept;
    public Person(String name, int age, Dept dept) {
        super();
        this.name = name;
        this.age = age;
        this.dept = dept;
    }
    public Person() {
        super();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Dept getDept() {
        return dept;
    }
    public void setDept(Dept dept) {
        this.dept = dept;
    }
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + ", dept=" + dept + "]";
    }


}

需要用到的Dept代码

package com.qf.demo3;

public class Dept {

    private int no;
    private String name;
    public Dept(int no, String name) {
        super();
        this.no = no;
        this.name = name;
    }
    public Dept() {
        super();
    }
    public int getNo() {
        return no;
    }
    public void setNo(int no) {
        this.no = no;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Dept [no=" + no + ", name=" + name + "]";
    }

}

下面解析的是纯对象:{name:’zhangsan’,age:20}

package com.qf.demo3;

import com.google.gson.Gson;
import com.qf.demo.Person;

public class Test {

    public static void main(String[] args) {
        String string  = "{name:'zhangsan',age:20}";
        /**
         * 1 创建工具对象
         */
        Gson gson = new Gson();
        // 第一个参数是要解析的json字符串
        Person person = gson.fromJson(string, Person.class);
        System.out.println(person);



    }
}

3 . 解析对象嵌套:

package com.qf.demo3;

import com.google.gson.Gson;
import com.qf.demo3.Person;

public class Test2 {

    public static void main(String[] args) {
        String string2 = "{name:'zhangsan',age:20,dept:{no:1,name:'java'}}";

        Gson gson = new Gson();
        Person person = gson.fromJson(string2, Person.class);
        System.out.println(person);
    }
}

4 .解析:
string= “{persons:[{name:’zhangsan’,age:20},{name:’lisi’,age:21},{name:’wangwu’,age:22}]}”

package com.qf.demo3;

import java.util.ArrayList;
import com.qf.demo.Person;
import com.google.gson.Gson;

public class Test3 {

    public static void main(String[] args) {
        String string= "{persons:[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]}";
        Gson gson=new Gson();
        Persons persons = gson.fromJson(string, Persons.class);
        System.out.println(persons);
    }
}


class Persons{
    ArrayList<Person> persons;// 通常碰到数组就用集合来存储

    public Persons(ArrayList<Person> persons) {
        super();
        this.persons = persons;
    }

    public Persons() {
        super();
    }

    public ArrayList<Person> getPersons() {
        return persons;
    }

    public void setPersons(ArrayList<Person> persons) {
        this.persons = persons;
    }

    @Override
    public String toString() {
        return "Persons [persons=" + persons + "]";
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值