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();