1.实体类:
public class CourseInfo {
//课程id
private Integer courseId;
//课程名称
private String courseName;
//课程描述
private String courseDesc;
//课程图片
private String image;
public Integer getCourseId() {
return courseId;
}
public void setCourseId(Integer courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public String getCourseDesc() {
return courseDesc;
}
public void setCourseDesc(String courseDesc) {
this.courseDesc = courseDesc;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
@Override
public String toString() {
return "CourseInfo{" +
"courseId=" + courseId +
", courseName='" + courseName + '\'' +
", courseDesc='" + courseDesc + '\'' +
", image='" + image + '\'' +
'}';
}
}
2.测试类:
public class Test {
public static void main(String[] args) {
//课程实体类
CourseInfo courseInfo=new CourseInfo();
courseInfo.setCourseId(1);
courseInfo.setCourseName("Java");
courseInfo.setCourseDesc("Java开发入门");
courseInfo.setImage("image.jpg");
System.out.println("实体类文本格式: "+courseInfo);
String courseJson=JSONArray.toJSONString(courseInfo);
System.out.println("实体类json格式: "+courseJson);
System.out.println("-----------------------------------");
//整型list
List<Integer> ids=new ArrayList<>();
ids.add(1);
ids.add(2);
ids.add(3);
System.out.println("整型list文本格式: "+ids);
String idsJson=JSONArray.toJSONString(ids);
System.out.println("整型list json格式: "+idsJson);
System.out.println("-----------------------------------");
//字符串类型list
List<String> names=new ArrayList<>();
names.add("张三");
names.add("李四");
names.add("王五");
System.out.println("字符串类型list文本格式: "+names);
String namesJson=JSONArray.toJSONString(names);
System.out.println("字符串类型list json格式: "+namesJson);
System.out.println("-----------------------------------");
//对象类型list
List<CourseInfo> courseInfos=new ArrayList<>();
CourseInfo courseInfo1=new CourseInfo();
courseInfo1.setCourseId(2);
courseInfo1.setCourseName("Mysql");
courseInfo1.setCourseDesc("Mysql开发入门");
courseInfo1.setImage("image1.jpg");
courseInfos.add(courseInfo);
courseInfos.add(courseInfo1);
System.out.println("对象类型list文本格式: "+courseInfos);
String courseInfosJson=JSONArray.toJSONString(courseInfos);
System.out.println("对象类型list json格式: "+courseInfosJson);
System.out.println("-----------------------------------");
//字符串型map
Map<String,String> stringMap=new HashMap<>();
stringMap.put("name","张三");
stringMap.put("age","20");
stringMap.put("sex","男");
System.out.println("字符串型map文本格式: "+stringMap);
String stringMapJson=JSONArray.toJSONString(stringMap);
System.out.println("字符串型map json格式: "+stringMapJson);
System.out.println("-----------------------------------");
//对象型map
Map<String,Object> courseInfoMap=new HashMap<>();
courseInfoMap.put("courseInfo",courseInfo);
courseInfoMap.put("courseInfo1",courseInfo1);
System.out.println("对象型map文本格式: "+courseInfoMap);
String courseInfoMapJson=JSONArray.toJSONString(courseInfoMap);
System.out.println("对象型map json格式: "+courseInfoMapJson);
System.out.println("-----------------------------------");
//map型list
List<Map<String,Object>> mapList=new ArrayList<>();
mapList.add(courseInfoMap);
System.out.println("map型list文本格式: "+mapList);
String mapListJson=JSONArray.toJSONString(mapList);
System.out.println("map型list json格式: "+mapListJson);
System.out.println("-----------------------------------");
}
}
3.运行结果:
实体类文本格式: CourseInfo{courseId=1, courseName='Java', courseDesc='Java开发入门', courseStatus='null', courseStatusCode='null', image='image.jpg'}
实体类json格式:
{
"courseDesc":"Java开发入门",
"courseId":1,
"courseName":"Java",
"image":"image.jpg"
}
-----------------------------------
整型list文本格式: [1, 2, 3]
整型list json格式:
[
1,
2,
3
]
-----------------------------------
字符串类型list文本格式: [张三, 李四, 王五]
字符串类型list json格式:
[
"张三",
"李四",
"王五"
]
-----------------------------------
对象类型list文本格式: [CourseInfo{courseId=1, courseName='Java', courseDesc='Java开发入门', courseStatus='null', courseStatusCode='null', image='image.jpg'}, CourseInfo{courseId=2, courseName='Mysql', courseDesc='Mysql开发入门', courseStatus='null', courseStatusCode='null', image='image1.jpg'}]
对象类型list json格式:
[
{
"courseDesc":"Java开发入门",
"courseId":1,
"courseName":"Java",
"image":"image.jpg"
},
{
"courseDesc":"Mysql开发入门",
"courseId":2,
"courseName":"Mysql",
"image":"image1.jpg"
}
]
-----------------------------------
字符串型map文本格式: {sex=男, name=张三, age=20}
字符串型map json格式:
{
"sex":"男",
"name":"张三",
"age":"20"
}
-----------------------------------
对象型map文本格式: {courseInfo=CourseInfo{courseId=1, courseName='Java', courseDesc='Java开发入门', courseStatus='null', courseStatusCode='null', image='image.jpg'}, courseInfo1=CourseInfo{courseId=2, courseName='Mysql', courseDesc='Mysql开发入门', courseStatus='null', courseStatusCode='null', image='image1.jpg'}}
对象型map json格式:
{
"courseInfo":{
"courseDesc":"Java开发入门",
"courseId":1,
"courseName":"Java",
"image":"image.jpg"
},
"courseInfo1":{
"courseDesc":"Mysql开发入门",
"courseId":2,
"courseName":"Mysql",
"image":"image1.jpg"
}
}
-----------------------------------
map型list文本格式: [{courseInfo=CourseInfo{courseId=1, courseName='Java', courseDesc='Java开发入门', courseStatus='null', courseStatusCode='null', image='image.jpg'}, courseInfo1=CourseInfo{courseId=2, courseName='Mysql', courseDesc='Mysql开发入门', courseStatus='null', courseStatusCode='null', image='image1.jpg'}}]
map型list json格式:
[
{
"courseInfo":{
"courseDesc":"Java开发入门",
"courseId":1,
"courseName":"Java",
"image":"image.jpg"
},
"courseInfo1":{
"courseDesc":"Mysql开发入门",
"courseId":2,
"courseName":"Mysql",
"image":"image1.jpg"
}
}
]
-----------------------------------
(注意:以上运行结果中,输出的json字符串是为了方便大家查看,而进行解析json格式后的样子,解析网址为:Json解析网址)
4.总结:根据结果可以看出,list的解析格式为array数组,而map与对象解析格式都为object对象
,根据这些特性我们就可以进行一些后台复杂结构的封装。