public static void main(String[] args) {
//字符串转JSONObject
String mapString = "{id:'211415034',name:'徐妍',age:'24'}";
JSONObject json = JSON.parseObject(mapString);//json={"id":"211415034","name":"徐妍","age":"24"}
//JSONObject转实体类
Student json_student = JSONObject.toJavaObject(json, Student.class);
String name = json.getString("name");
System.out.println("name+json------" + name + "/n" + json);
System.out.println("json_student---------" + json_student);
//name+json------徐妍/n{"name":"徐妍","id":"211415034","age":"24"}
//json_student---------Student{id=211415034, name='徐妍', age='24'}
//json对象数组字符串(有里往外命名)
String homeworklist = "[{id:'211415034',name:'蛋蛋',age:'24'},{id:'211415034',name:'闲闲',age:'24'}]";
//对象数组字符串转JSONArray
JSONArray json_list = JSON.parseArray(homeworklist);
//对象数组字符串转List集合
List<Student> stu1 = JSON.parseArray(homeworklist, Student.class);
System.out.println("stu1----------" + stu1);
//stu1----------[Student{id=211415034, name='蛋蛋', age='24'}, Student{id=211415034, name='闲闲', age='24'}]
System.out.println("json_list-------" + json_list);
//json_list-------[{"name":"蛋蛋","id":"211415034","age":"24"},{"name":"闲闲","id":"211415034","age":"24"}]
//遍历JSONArray
for (Object stu : json_list) {
System.out.println("stu2--------" + stu);
}
//stu2--------{"name":"蛋蛋","id":"211415034","age":"24"}
//stu2--------{"name":"闲闲","id":"211415034","age":"24"}
//复杂的json字符串
String homeworkMap = "[{id:'211415034',name:'蛋蛋',age:'24'}, {id:'211415034',name:'闲闲',age:['24']}]";
//对象数组字符串转List集合
List<Student> json_map = JSON.parseArray(homeworkMap, Student.class);
System.out.println("json_map---------" + json_map);
//json_map---------[Student{id=211415034, name='蛋蛋', age='24'}, Student{id=211415034, name='闲闲', age='["24"]'}]
//将List转换成JSONArray,要先转换成json字符串
JSONArray list1 = JSONArray.parseArray(JSON.toJSONString(json_map));
System.out.println("list1---------" + list1);
//list1---------[{"name":"蛋蛋","id":211415034,"age":"24"},{"name":"闲闲","id":211415034,"age":"[\"24\"]"}]
//带名称的json数组对象字符串
String homeworkMap2 = "{data:[{id:'211415034',name:'蛋蛋',age:['24','12']}, {id:'211415034',name:'闲闲',age:['24','12']}],stud:{id:'211415034',name:'这是stud',age:'24'}}";
//先将json字符串转化成JSONObject
JSONObject json_hp = JSON.parseObject(homeworkMap2);
System.out.println("json_hp--------------" + json_hp);
//json_hp--------------{"data":[{"name":"蛋蛋","id":"211415034","age":["24","12"]},{"name":"闲闲","id":"211415034","age":["24","12"]}],"stud":{"name":"这是stud","id":"211415034","age":"24"}}
//获取key为data的数组
System.out.println("data--------------" + json_hp.get("data"));
//data--------------[{"name":"蛋蛋","id":"211415034","age":["24","12"]},{"name":"闲闲","id":"211415034","age":["24","12"]}]
//获取key为data数组的stud对象
System.out.println("stud--------------" + json_hp.get("stud"));
//stud--------------{"name":"这是stud","id":"211415034","age":"24"}
//强转 List<Map<String,Object>> list= (List<Map<String, Object>>) json_hp;
List<Map<String, Object>> list = (List<Map<String, Object>>) json_hp.get("data");
System.out.println("list------------" + list);
//list------------[{"name":"蛋蛋","id":"211415034","age":["24","12"]},{"name":"闲闲","id":"211415034","age":["24","12"]}]
//遍历list
for (Map<String, Object> map : list) {
System.out.println("map-----" + map);
List age1 = (List) map.get("age");
String age = String.valueOf(age1);
for (Object age2 : age1) {
System.out.println("age2-----------" + age2);
}
System.out.println("age-----------" + age);
}
/*
map-----{"name":"蛋蛋","id":"211415034","age":["24","12"]}
age2-----------24
age2-----------12
age-----------["24","12"]
map-----{"name":"闲闲","id":"211415034","age":["24","12"]}
age2-----------24
age2-----------12
age-----------["24","12"]*/
}