Android GSON使用

new Gson().fromJson(String json, Class classOfT)




[]( )三、测试结果

--------------------------------------------------------------------



import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import com.google.gson.Gson;

import java.util.ArrayList;

import java.util.List;

/**

  • @author by t, Date on 2019-10-23.

  • note: Gson使用

*/

public class MainActivity extends AppCompatActivity {

private final String TAG = "MainActivity";



@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);



    Gson gson = new Gson();



    Person person = new Person();

    person.setName("张三");

    person.setAge(22);



    Log.d(TAG, "toJson:" + gson.toJson(person));



    String jsonStr = "{\"age\":22,\"name\":\"张三\"}";



    Log.d(TAG, "fromJson:" + new Gson().fromJson(jsonStr, Person.class).toString());



    //来个复杂点的



    CompanyInfo companyInfo = new CompanyInfo();

    companyInfo.setCompanyName("公司名字");

    companyInfo.setCompanyOwner("老板");



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

    personList.add(new Person("张三", 22));

    personList.add(new Person("李四", 23));

    personList.add(new Person("王五", 24));

    companyInfo.setPersonList(personList);



    String toJson = gson.toJson(companyInfo);



    Log.d(TAG, "toJson:" + toJson);



    Log.d(TAG, "fromJson:" + gson.fromJson(toJson, CompanyInfo.class));

}





public class Person {

    private String name;

    private int age;



    public Person() {

    }



    public Person(String name, int age) {

        this.name = name;

        this.age = age;

    }



    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;

    }



    @Override

    public String toString() {

        return "Person{" +

                "name='" + name + '\'' +

                ", age=" + age +

                '}';

    }

}





public class CompanyInfo {

    private String companyName;

    private String companyOwner;

    private List<Person> personList;



    public String getCompanyName() {

        return companyName;

    }



    public void setCompanyName(String companyName) {

        this.companyName = companyName;

    }



    public String getCompanyOwner() {

        return companyOwner;

    }



    public void setCompanyOwner(String companyOwner) {

        this.companyOwner = companyOwner;

    }



    public List<Person> getPersonList() {

        return personList;

    }



    public void setPersonList(List<Person> personList) {

        this.personList = personList;

    }



    @Override

    public String toString() {

        return "CompanyInfo{" +

                "companyName='" + companyName + '\'' +

                ", companyOwner='" + companyOwner + '\'' +

                ", personList=" + personList +

                '}';

    }

}

}




[]( )Gson处理空对象场景

=========================================================================



// UserInfo userInfo = new UserInfo();

// userInfo.setId(0);

// userInfo.setName(“张三”);

// userInfo.setAddress(null);

// {“id”:0,“name”:“张三”}

// UserInfo userInfo = new UserInfo();

// userInfo.setId(0);

// userInfo.setName(“张三”);

//

// {“id”:0,“name”:“张三”}

// UserInfo userInfo = new UserInfo();

// userInfo.setId(0);

// userInfo.setName(“张三”);

// userInfo.setAddress(“”);

//

// {“address”:“”,“id”:0,“name”:“张三”}

    UserInfo userInfo = new UserInfo();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值