JSON.parseObject 之json->map
package testMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class Student {
String name;
Integer age;
public Student(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public static void main(String[] args) {
String json = "{\"1\":{\"name\":\"zhangsan\",\"age\":2},\"2\":{\"name\":\"lisi\",\"age\":26}}";
Map<String, Student> map;
map = JSON.parseObject(json, new TypeReference<Map<String, Student>>() {
});
System.out.println(map.toString());
System.out.println(map.get("1"));
//最常见也是大多数情况下用的最多的,一般在键值对都需要使用
for (Map.Entry<String, Student> entry : map.entrySet()) {
String mapKey = entry.getKey();
Student mapValue = entry.getValue();
System.out.println(mapKey + " : " + mapValue);
}
// map.put
map.put("third", new Student("wangwu", 23));
System.out.println(map);
}
}
输出
{1=Student{name='zhangsan', age=2}, 2=Student{name='lisi', age=26}}
Student{name='zhangsan', age=2}
1 : Student{name='zhangsan', age=2}
2 : Student{name='lisi', age=26}
{1=Student{name='zhangsan', age=2}, 2=Student{name='lisi', age=26}, third=Student{name='wangwu', age=23}}