0


Java用fastjson转换JSON对象和字符串

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

标签: java json

本文转载自: https://blog.csdn.net/lilongsy/article/details/134263501
版权归原作者 小龙在山东 所有, 如有侵权,请联系我们删除。

“Java用fastjson转换JSON对象和字符串”的评论:

还没有评论