Gson簡單應用

一、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;
 }
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章