Fastjson是阿里巴巴的一个开源项目,它是一个高性能的Java语言实现的JSON库。下面是如何使用Fastjson将Java对象转换为JSON对象的示例。
下载安装
需要将Fastjson库添加到项目的依赖中。如果您使用的是Maven,可以在pom.xml文件中添加以下依赖:
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version></dependency>
JSON对象转换为JSON字符串
packageorg.example;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassMain{publicstaticvoidmain(String[] args)throwsException{SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = sdf.parse("2023-11-09 22:11:59");JSONObject jsonObject =newJSONObject().fluentPut("key1", date).fluentPut("key2",newJSONObject().fluentPut("key2.1","2.1")).fluentPut("key3",newJSONArray().fluentAdd("1").fluentAdd(2));System.out.println(jsonObject.toJSONString());}}
{"key1":1699539119000,"key2":{"key2.1":"2.1"},"key3":["1",2]}
用美化输出JSON字符串:
packageorg.example;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importcom.alibaba.fastjson.serializer.SerializerFeature;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassMain{publicstaticvoidmain(String[] args)throwsException{SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = sdf.parse("2023-11-09 22:11:59");JSONObject jsonObject =newJSONObject().fluentPut("key1", date).fluentPut("key2",newJSONObject().fluentPut("key2.1","2.1")).fluentPut("key3",newJSONArray().fluentAdd("1").fluentAdd(2));System.out.println(JSON.toJSONString(jsonObject,SerializerFeature.PrettyFormat));}}
这里使用了
SerializerFeature.PrettyFormat
,它会以一种更易于阅读的方式(包含换行符和缩进)格式化输出的JSON字符串。如果不使用这个选项,输出的JSON字符串将不会有任何格式。
{"key1":1699539119000,"key2":{"key2.1":"2.1"},"key3":["1",2]}
解析JSON字符串
packageorg.example;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;publicclassMain{publicstaticvoidmain(String[] args)throwsException{String jsonString ="""
{"key1":1,"key2":{"key2.1":"2.1"},"key3":["1",2]}
""";JSONObject jsonObject =JSON.parseObject(jsonString);JSONObject key2 =(JSONObject) jsonObject.get("key2");System.out.println(key2.get("key2.1"));// 2.1JSONArray key3 =(JSONArray) jsonObject.get("key3");System.out.println(key3.get(1));// 2}}
这里使用
JSON.parseObject
解析json字符串成JSONObject对象。
参考
https://github.com/alibaba/fastjson/wiki
https://zhuanlan.zhihu.com/p/72495484
版权归原作者 小龙在山东 所有, 如有侵权,请联系我们删除。