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

Posted cknds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于fastJson将对象序列化成json字符串的主要内容,如果未能解决你的问题,请参考以下文章

序列化json对象的三种方式

fastjson

2020第28周日

FastJsonfastjson序列化保持字段顺序

fastjson序列化将null变成空字符串

C#将对象序列化成JSON字符串