一、Gson中常用的toJson、fromJson 应用示例
1.MainActivity.java
示例比较简单,此处不多做解释,直接上代码。
配合使用GsonFormat插件、Gson工具 解析 json文件效率很高。
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() { //基础类型转换成json
@Override
public void onClick(View view) {
Gson gson = new Gson();
String str1 = gson.toJson(1234);
String str2 = gson.toJson("hello");
String str3 = gson.toJson(false);
String[] array = {"hello","world","welcome"};
String str4 = gson.toJson(array);
Log.e(TAG,"str1 = "+str1 + "str2 = "+str2 + " str3 = " + str3 + "str4 = " + str4);
}
});
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() { //将对象转换成json
@Override
public void onClick(View view) {
Student student = new Student("张三",20);
Gson gson = new Gson();
String str5 = gson.toJson(student);
Log.e(TAG,"str5 = " +str5);
/**
* 使用jsonObject将对象转换成json*/
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("name",student.getName());
jsonObject.put("age",student.getAge());
String str6 = jsonObject.toString();
Log.e(TAG,"str6 = " + str6);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() { //将json转换成对象
@Override
public void onClick(View view) {
String str = "{\"name\":\"张三\",\"age\":20}";
Gson gson = new Gson();
Student student = gson.fromJson(str,Student.class);
Log.e(TAG,"student = " + student);
}
});
}
}
2.Student.java
public class Student {
private String name;
private int age;
public Student(String name,int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "name : " + name + "age :" + age;
}
}