Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 阿里巴巴fastjson的使用

阿里巴巴fastjson的使用

一、项目结构

一个学生类,其中学生类中可以包含Course类对象

二、数据对象转化为Json字符串

GenerateJson.java代码标识转化为json字符串
(1)将学生对象转化为json,其中学生中包含Course对象@Testpublic void testSimpleJSON(){Student stu = new Student("xuliugen", "nan", "123123", "100");Course course = new Course("JAVA", "xiaobin", "100");stu.setCourse(course);String json = JSON.toJSONString(stu);System.out.println(json);}{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen"}(2)将一个单独的实体对象转化为json@Testpublic void testListJSON(){JSONTest jt1 = new JSONTest("xuliugen", "nan");JSONTest jt2 = new JSONTest("xieyan", "nv");List<JSONTest> li = new ArrayList<JSONTest>();li.add(jt1);li.add(jt2);String jsonstr = JSON.toJSONString(li);System.out.println(jsonstr);}[{"name":"xuliugen","sex":"nan"},{"name":"xieyan","sex":"nv"}](3)将包含多个类似于(1)中的实体对象转化为json@Testpublic void testMulJSON(){Student stu = new Student("xuliugen", "nan", "123123", "100");Course course = new Course("JAVA", "xiaobin", "100");stu.setCourse(course);Student stu2 = new Student("xieyan", "nan", "123123", "100");Course course2 = new Course("music", "qwe", "100");stu2.setCourse(course2);List<Student> stuList = new ArrayList<Student>();stuList.add(stu);stuList.add(stu2);String json2 = JSON.toJSONString(stuList);System.out.println(json2);}
  • 1
[{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen"},{"course":{"coursename":"music","coursescore":"100","courseteacher":"qwe"},"password":"123123","score":"100","sex":"nan","username":"xieyan"}]

三、解析json数据到实体对象

(1)解析上述(1)中学生中包含Course的对象[{"name":"xuliugen","sex":"nan"},{"name":"xieyan","sex":"nv"}]
  • 1
@Testpublic void testParseSimpleJSON(){String json = "[{"name":"xuliugen","sex":"nan"},{"name":"xieyan","sex":"nv"}]";JSONArray jsonArray = JSON.parseArray(json);String str = jsonArray.getString(0);JSONTest jsonTest = JSON.parseObject(str,JSONTest.class);System.out.println(jsonTest.getSex());}{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen"}(2)由于只有一个对象,解析如下:@Testpublic void testParseStudentIncludeCourseJSON() {String json = "{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen"}";Student stu = JSON.parseObject(json,Student.class);System.out.println(stu.getPassword());}(3)将上述中的(3)当有多个上述的对象的时候,解析如下:[{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen"},{"course":{"coursename":"music","coursescore":"100","courseteacher":"qwe"},"password":"123123","score":"100","sex":"nan","username":"xieyan"}]解析如下:@Testpublic void testParseListStudentIncludeCourseJSON() {String json = "[{"course":{"coursename":"JAVA","coursescore":"100","courseteacher":"xiaobin"},"password":"123123","score":"100","sex":"nan","username":"xuliugen123"},{"course":{"coursename":"music","coursescore":"100","courseteacher":"qwe"},"password":"123123","score":"100","sex":"nan","username":"xieyan"}]";JSONArray jsonArray = JSON.parseArray(json);String str = jsonArray.getString(0);Student stu = JSON.parseObject(str, Student.class);System.out.println(stu.getUsername());}Json应用案例之FastJson  http://www.linuxidc.com/Linux/2015-03/115366.htmFastJson库省略小数点后0的Bug的跟踪 http://www.linuxidc.com/Linux/2015-06/118522.htmfastjson 的详细介绍:请点这里
fastjson 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120012.htm