首页 > 代码库 > Gson转换器 android

Gson转换器 android

引入gson包//Gson解析.封装服务器返回json结果   Gson gson = new Gson();//1、对象转string          Student stu = new Student();          stu.setStudentId(333);          stu.setStudentName("qqq");          String stuStr = gson.toJson(stu);          System.out.println(stuStr); //{"studentName":"qqq","studentId":333}                      //    string转对象          Student user2 = gson.fromJson(stuStr, Student.class);           System.out.println(user2);           String stuTemp = "{\"studentName\":\"qqq2\",\"studentId\":3335}";          Student user4 = gson.fromJson(stuTemp, Student.class);           System.out.println(user4);     //2、对象List转string          List<Student> testBeanList = new ArrayList<Student>();           Student testBean = new Student();           testBean.setStudentId(555);          testBean.setStudentName("552");          testBeanList.add(testBean);           //Gson gsonList = new Gson();           Type type = new TypeToken<List<Student>>(){}.getType();  //指定集合对象属性          String beanListToJson = gson.toJson(testBeanList, type);           System.out.println(beanListToJson); //[{"studentName":"552","studentId":555}]           //集合string转对象list          List<Student> testBeanListFromJson = gson.fromJson(beanListToJson, type);           System.out.println(testBeanListFromJson); //[555:552]    //3、集合如果不指定类型 默认为String          List<String> testList = new ArrayList<String>();           testList.add("first");           testList.add("second");           String listToJson = gson.toJson(testList);           System.out.println(listToJson); //["first","second"]                   //集合字符串转回来需要指定类型          List<String> testList2 = (List<String>) gson.fromJson(listToJson,             new TypeToken<List<String>>() {             }.getType());           System.out.println(testList2);     //4、 将HashMap字符串转换为 JSON           Map<String, String> testMap = new HashMap<String, String>();           testMap.put("id", "id.first");           testMap.put("name", "name.second");           String mapToJson = gson.toJson(testMap);           System.out.println(mapToJson); //{"id":"id.first","name":"name.second"}          //HashMap转对象          Map<String, String> userMap2 = (Map<String, String>) gson.fromJson(mapToJson,                   new TypeToken<Map<String, String>>() {               }.getType());           System.out.println(userMap2); //{id=id.first, name=name.second}     //5、对象含有普通对象、集合、map情况          Student user1 = new Student();           user1.setStudentId(1001);           user1.setStudentName("张三");                     Student user3 = new Student();           user3.setStudentId(1002);           user3.setStudentName("李四");                     Map<String, Student> userMap = new HashMap<String, Student>();           userMap.put("user1", user1);           userMap.put("user3", user3);                     List<Student> userList = new ArrayList<Student>();           userList.add(user1);           userList.add(user3);                     Teacher groupBean = new Teacher();           groupBean.setStudent(user1);          groupBean.setStus(userList);          groupBean.setMap((HashMap)userMap);          //groupBean.setUserList(userList);           Gson gsonGroup = new Gson();             String sGroupBean = gsonGroup.toJson(groupBean, new TypeToken<Teacher>() {               }.getType());           System.out.println(sGroupBean);           /*{"stus":[{"studentName":"张三","studentId":1001},{"studentName":"李四","studentId":1002}],"student":{"studentName":"张三","studentId":1001},"map":{"user3":{"studentName":"李四","studentId":1002},"user1":{"studentName":"张三","studentId":1001}},"id":0,"age":0}*/      //复杂对象string转对象     Teacher groupBean2 = (Teacher) gson.fromJson(sGroupBean,      new TypeToken<Teacher>() {      }.getType());     System.out.println(groupBean2);  

 

Gson转换器 android