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

 

posted @ 2020-07-24 15:51  why666  阅读(180)  评论(0)    收藏  举报