學習Gson的使用

1.bean對象java

 1 package com.hyang.administrator.studentproject.bean;
 2 
 3 import com.google.gson.annotations.SerializedName;
 4 
 5 import java.util.ArrayList;
 6 import java.util.HashMap;
 7 import java.util.List;
 8 
 9 /**
10  * Created by Administrator on 2017/6/21.
11  */
12 public class GsonTest {
13 
14     private String name;
15     private String age;
16     @SerializedName("test")
17     private String sex;
18 
19     @SerializedName("my_list")
20     public List<String> myList=new ArrayList<>();
21     @SerializedName("books_map")
22     public HashMap<String, String> booksMap;
23     @SerializedName("text_list")
24     public  List<TestGson> textList;
25 
26     public String getName() {
27         return name;
28     }
29 
30     public void setName(String name) {
31         this.name = name;
32     }
33 
34     public String getAge() {
35         return age;
36     }
37 
38     public void setAge(String age) {
39         this.age = age;
40     }
41 
42     public String getSex() {
43         return sex;
44     }
45 
46     public void setSex(String sex) {
47         this.sex = sex;
48     }
49 }
package com.hyang.administrator.studentproject.bean;

/**
 * Created by Administrator on 2017/6/22.
 */
public class TestGson {

        public String name;
        public String age;
        public String sex;


}

2.使用android

package com.hyang.administrator.studentproject.activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.google.gson.Gson;
import com.hyang.administrator.studentproject.R;
import com.hyang.administrator.studentproject.bean.GsonTest;
import com.hyang.administrator.studentproject.bean.TestGson;

import org.xutils.view.annotation.ViewInject;
import org.xutils.x;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class GsonActivity extends AppCompatActivity {

    @ViewInject(R.id.gsonButton1)
    private Button gsonButton1;
    @ViewInject(R.id.gsonButton2)
    private Button gsonButton2;

    @ViewInject(R.id.gsonText1)
    private TextView gsonText1;
    @ViewInject(R.id.gsonText2)
    private TextView gsonText2;

    private String s;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_gson);
        x.view().inject(this);

        gsonButton1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                toJson();
            }
        });
        gsonButton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               resolveJson();
            }
        });
    }

    private void resolveJson() {
        Gson gson=new Gson();
        GsonTest gsonTest=gson.fromJson(s,GsonTest.class);
        if(!s.isEmpty()){
            gsonText2.setText("姓名:"+gsonTest.getName()+";年齡:"+gsonTest.getAge()+";性別:"+gsonTest.getSex()+";list長度"+
                    gsonTest.myList.size()+";map長度"+gsonTest.booksMap.size()+";對象長度"+gsonTest.textList.size());
        }else{
            return;
        }

    }

    private void toJson() {
        Gson gson=new Gson();
        GsonTest gsonTest=new GsonTest();
        gsonTest.setAge("18");
        gsonTest.setName("楊鴻");
        gsonTest.setSex("男");

        gsonTest.myList.add("語文");
        gsonTest.myList.add("數學");
        gsonTest.myList.add("英語");

        List<TestGson> textList=new ArrayList<>();
        for(int i=0;i<5;i++){
            TestGson testGson=new TestGson();
            testGson.name="小米"+i;
            testGson.age="2"+i;
            testGson.sex="男"+i;
            textList.add(testGson);
        }
        gsonTest.textList=textList;


        HashMap<String, String> booksMap = new HashMap<String, String>();
        booksMap.put("1", "數學");
        booksMap.put("2", "語文");
        booksMap.put("3", "英語");
        booksMap.put("4", "物理");
        booksMap.put("5", "化學");
        booksMap.put("6", "生物");
        gsonTest.booksMap = booksMap;

        String s=gson.toJson(gsonTest);
        this.s=s;
        gsonText1.setText(s);
    }


}
相關文章
相關標籤/搜索