当前位置: 首页 > news >正文

map格式可以接收返回 fastjson2格式的数据 而不需要显示的转换

Fastjson2 JSONObjectMap 的关系

Fastjson2JSONObject 类定义如下:

public class JSONObject extends JSON implements Map<String, Object>, Cloneable {// 实现了 Map 接口的所有方法(put、get、keySet 等)
}

解释

  • JSONObject实现了 Map<String, Object> 接口,这意味着 JSONObject 本身就具备了 Map 接口所定义的所有方法(例如 putgetkeySet 等)。

  • 由于 JSONObject 已经实现了 Map 接口,它在大多数情况下可以直接作为 Map<String, Object> 类型来使用,而无需显式的类型转换。

如何理解这个设计

  1. JSONObject 就是一个 Map
    由于 JSONObject 实现了 Map<String, Object> 接口,它本身就是一个 Map 的实现类。因此,在任何需要 Map<String, Object> 类型的地方,都可以直接使用 JSONObject,无需显式转换类型。

  2. 内置的 Map 方法
    JSONObject 实现了 Map 接口,意味着你可以直接调用 JSONObjectputgetkeySet 等方法,就像在操作普通的 Map 一样。

举例说明

a. 变量赋值
JSONObject json = new JSONObject();
json.put("name", "Alice");
json.put("age", 30);Map<String, Object> map = json;  // 无需转换,直接赋值!
System.out.println(map.get("name")); // 输出:Alice

由于 JSONObject 实现了 Map 接口,可以直接将其赋值给 Map<String, Object> 类型的变量 map,无需任何强制类型转换。

b. 方法参数传递
public void processMap(Map<String, Object> data) {System.out.println(data.get("key"));
}processMap(new JSONObject());  // 无需转换,直接传递

如果方法接收的是 Map<String, Object> 类型的参数,你可以直接传入一个 JSONObject,因为它已经实现了 Map 接口。

JSONObject 可以直接作为 Map<String, Object> 使用,无需显式类型转换。

总结

  • 核心优势:由于 JSONObject 实现了 Map<String, Object> 接口,它可以直接作为 Map 使用,无需进行显式的转换。

  • 使用场景:在 Fastjson2 中,任何期望 Map<String, Object> 类型的操作都可以直接使用 JSONObject,提高了代码的简洁性和可读性。

相关文章:

  • 【THRMM】追踪情绪动态变化的多模态时间背景网络
  • PostgreSQL常用DML操作的锁类型归纳
  • FlashInfer - 介绍 LLM服务加速库 地基的一块石头
  • 通过宝塔配置HTTPS证书
  • Problem B: 统计数字次数
  • 智慧工地系统如何实现实时监控?
  • 跨域的几种方案
  • ESP32WIFI工具加透传
  • 配置Nginx解决http host头攻击漏洞【详细步骤】
  • 从零开始完成“大模型在牙科诊所青少年拉新系统中RAG与ReACT功能实现”的路线图
  • Oracle数据库中,WITH..AS 子句用法解析
  • vue-cli项目升级rsbuild,效率提升50%+
  • 高压差分探头CMRR性能评估方法及优化策略
  • 扩散模型推理加速:从DDIM到LCM-Lora的GPU显存优化策略
  • RPC协议及库介绍
  • 学习日志06 java
  • 公链开发及其配套设施:钱包与区块链浏览器
  • 二叉树——层序遍历
  • OpenSHMEM 介绍和使用指南
  • 进程信号的学习
  • 《大风杀》导演张琪:为了不算计观众,拍了部不讨好的警匪片
  • 长三角首次,在铁三赛事中感受竞技与生态的共鸣
  • 陕西旱情实探:大型灌区农业供水有保障,大旱之年无旱象
  • 上海北外滩开发建设五周年交出亮眼答卷,未来五年有何新目标?
  • 山东鄄城发生一起交通事故,造成4人死亡、2人受伤
  • 珠峰窗口期5月开启 普通人登一次有多烧钱?