json操作javabean list map
1.导入JSON的jar包 gson bean对象
Person p=new Person("why",1);
//创建gson实例
Gson gson=new Gson();
//bean转为字符串 toJson
String s = gson.toJson(p);
System.out.println(s);
//字符串转为对象
Person person = gson.fromJson(s, Person.class);
System.out.println(person);
1.map
匿名类
HashMap<String,Person> map1=gson.fromJson(str, new TypeToken<HashMap<String,Person>>(){}.getType());
//list集合
List<Person> list=new ArrayList<>();
list.add(new Person("why",0) );
list.add(new Person("why1",1) );
list.add(new Person("why2",2) );
list.add(new Person("why3",3) );
Gson gson=new Gson();
String toJson = gson.toJson(list);
System.out.println(toJson);
//这样做是错误的
// ArrayList<Person> fromJson = gson.fromJson(toJson, ArrayList.class);
// System.out.println(fromJson.get(0).getClass());
// System.out.println(fromJson.toString());
//这样做的对的 找到一个类继承 TypeToken<ArrayList<Person>>匿名内部类也可以
ArrayList<Person> json = gson.fromJson(toJson, new personListType().getType());
System.out.println(json.get(0));
2.Map集合
// 3、map 对象和 json 的转换
Map<string, person=""> mapPerson = new HashMap<string, gsontest.person="">();
// 添加 person 到 map 中
mapPerson.put("p1", new Person(1, "person-1"));
mapPerson.put("p2", new Person(2, "person-2"));
// 把 map 转换成为 json 对象
String jsonMapString = gson.toJson(mapPerson);
System.out.println(jsonMapString);
// 通过使用匿名内部类的方式
Map<string, person> map = gson.fromJson(jsonMapString, new TypeToken<hashmap<string, person="">>() {}.getType());
System.out.println(map);

浙公网安备 33010602011771号