阿里巴巴fastjson的使用
阿里巴巴fastjson的使用
一、项目结构
一个学生类,其中学生类中可以包含Course类对象
二、数据对象转化为Json字符串
GenerateJson.java代码标识转化为json字符串
(1)将学生对象转化为json,其中学生中包含Course对象
@Test public 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
@Test public 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
@Test public 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
@Test public 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)由于只有一个对象,解析如下:
@Test public 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" } ]
解析如下:
fastjson 的详细介绍:请点这里
fastjson 的下载地址:请点这里
相关推荐
88483063 2020-06-28
88483063 2020-05-25
88103756 2020-05-02
80337960 2020-03-26
83163452 2020-01-28
80337960 2019-12-13
88483063 2019-11-07
88103756 2017-10-16
88377560 2015-07-02
80337960 2018-07-05
80357518 2014-03-26
87387964 2017-10-16
80337960 2019-07-01
80337960 2015-05-21
kane 2018-03-21
81163353 2012-07-13
88357660 2016-10-25
80337960 2020-06-10
88483063 2020-04-23