JSON之fastJson

本文介绍FastJson,一个性能优秀的Java JSON解析器和生成器,支持多种Java对象类型转换,并且实现零依赖。通过示例展示了如何使用FastJson将Java对象转化为JSON字符串,以及如何进行反序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Json处理主要包括两部分:序列化和反序列化。

序列化就是把Java对象转换为JSON String 或JSON Bytes。反之,反序列化就是把JSON String 或JSON Bytes转换为Java对象。

FastJson是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,阿里巴巴开源平台发布的,实现对象的字符串化和反转解析的工具类库。

主要特点:
1)快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
2)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
3)零依赖(没有依赖其它任何类库除了JDK)


以下为参考资料:
JSON中文文档:http://www.json.org/json-zh.html


示例(Java对象转json String):

User user = new User();
user.setId(1);
user.setName("张三");
String jsonStr = JSON.toJSONString(user);
System.out.println(jsonStr);

输出:{"id":1,"name":"张三"}


JSONObject jsonObject = JSON.parseObject(user.toString());
jsonObject.put("address", "北京");

System.out.println(jsonObject);

输出:{"id":1,"name":"张三","address":"北京"}

User user2 = new User();
user2.setId(2);
user2.setName("李四");

JSONArray jsonArray = JSON.parseArray(userList.toString());

System.out.println(jsonArray);

输出:[{"id":1,"name":"张三"},{"id":2,"name":"李四"}]

for(int i = 0;i<jsonArray.size();i++){
        JSONObject jsonObject = (JSONObject)jsonArray.get(i);
        jsonObject.put("index",i);
}

System.out.println(jsonArray);

输出:[{"id":1,"name":"张三","index",0},{"id":2,"name":"李四","index":1}] 


                
list转json对象使用FastJSON可以通过以下步骤完成: 1. 导入FastJSON库并创建一个空的JSON对象。 2. 遍历list,将list中的每个元素转换为JSON对象。 3. 将转换后的JSON对象添加到前面创建的空JSON对象中。 4. 最后将整个JSON对象转换为json字符串。 代码示例: import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("item1", "item2", "item3"); JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); for (String item : list) { JSONObject itemObject = new JSONObject(); itemObject.put("item", item); jsonArray.add(itemObject); } jsonObject.put("list", jsonArray); String jsonString = jsonObject.toJSONString(); System.out.println(jsonString); } } 以上代码将会将List<String> list转换为一个JSON对象,该对象中包含一个名为"list"的JSON数组,该数组包含了list中的每个元素的JSON对象。 希望以上解答能对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [list转json字符串 FastJSON 调用](https://download.youkuaiyun.com/download/trouble0914/85414476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [fastjson list转json字符串_一篇文章教你轻松使用fastjson](https://blog.youkuaiyun.com/weixin_39804329/article/details/110245434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值