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