我们都知道json最常见的就是:
{key1 :value1,key2 :value2,...keyN :valueN }
这种类型的json我们可以使用一下方法就可以很容易的将list集合转换为json:
//一个简单的javabean
user user=newuser();
user.setName("亮亮");
user.setAge(10);
user.setSex("男");//将这个JavaBean存入list集合中
List list=new ArrayList();
list.add(user);//使用gson将其转化
Gson gson1Gson=newGson();
String json=gson1Gson.toJson(list);
System.out.println(json);//生成效果
[{"name":"亮亮","age":10,"sex":"男"}]
然而对应的,在更多时候我们需要的不是这种简单的json格式,更多的是我们需要生成多层嵌套的json:
{"data":[{"name":"亮亮","age":10,"sex":"男"},{"name":"亮亮","age":10,"sex":"男"}],"links":[{"qidian":"1","zhogndian":"2"},{"qidian":"3","zhogndian":"3"}]}
对于这样的json我们就需要明白,如何实现这种嵌套的,很明显map集合可以加入list,既然可以加入,我们就很容易想到map集合有这样一个方法
map.put("data", list);
所以我们只需要将JavaBean中的内容存入对应的list集合中,然后在使用map集合的put方法给对应的list起一个名字!
so so so直接给代码!
package Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.omg.CORBA.PRIVATE_MEMBER;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import Bean.student;
import Bean.user;public classgson自定义解析规则练习 {public static voidmain(String []args) {
user user=newuser();
user.setName("亮亮");
user.setAge(10);
user.setSex("男");
user user3=newuser();
user3.setName("亮亮");
user3.setAge(10);
user3.setSex("男");
student student=newstudent();
student.setQidian("1");
student.setZhogndian("2");
student student1=newstudent();
student1.setQidian("3");
student1.setZhogndian("3");
List list=new ArrayList();
list.add(user);
Gson gson1Gson=newGson();
String json=gson1Gson.toJson(list);//System.out.println(json);
list.add(user3);
List list2=new ArrayList();
list2.add(student);
list2.add(student1);
Map map= new HashMap<>();
map.put("data", list);
map.put("links", list2);
Gson gson=newGson();
String str=gson.toJson(map);
System.out.println(str);
}
}
至于其他的json完全可以通过这种自定义的操作,生成自己需要的json格式啦!
加油,平凡的程序员!!!!