fastJson将对象序列化成json字符串

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.60</version>
        </dependency>

JSON_OBJ_STR = "{"studentName":"lily","studentAge":12}";
JSON_ARRAY_STR = "[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]";

COMPLEX_JSON_STR="{"teacherName":"crystall","teacherAge":27,"course":{"courseName":"english","code":1270},"students":[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]}";

字符串转json对象:JSONObject jsonObject = JSON.parseObject(JSON_OBJ_STR);

字符串转json数组:JSONArray jsonArray = JSON.parseArray(JSON_ARRAY_STR);

字符串转复杂json对象(嵌套):JSONObject jsonObject = JSON.parseObject(COMPLEX_JSON_STR);

获取嵌套里面的对象:JSONObject innerObject = jsonObject.getJSONObject("xxx");

json字符串转javaBean:Student student = JSON.parseObject(JSON_OBJ_STR, new TypeReference<Student>() {});

复杂对象同上一样转;

javaBean 转json字符串:String bookjson = JSONObject.toJSONString(book, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullBooleanAsFalse);

上面的SerializerFeature有好多枚举类型,上面的是null值写成“”,还有空值不写进字符串的



SerializerFeature.NotWriteDefaultValue,比如studentName为空的时候,序列化成json字符串就是{"studentAge":"21"},没有sthdentName

posted @ 2020-06-29 23:41  cknds  阅读(1410)  评论(0编辑  收藏  举报