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

Json和JsonString之间互转总结

一、使用Gson库(推荐)

Gson是Google提供的轻量级JSON处理库,支持对象与JSON的快速双向转换。

Gson gson = new Gson();
String jsonString = gson.toJson(params);  // 对象转JSON字符串
JSONObject jsonObject = new JSONObject(jsonString);  // 字符串转JSONObject
  • 特性
    • 自动递归处理嵌套对象和集合。
    • 默认忽略null字段,可通过serializeNulls()配置保留空值。
  • 注解支持
    使用@SerializedName自定义JSON键名,例如:
public class User {
    @SerializedName("user_name")
    private String name;
}

二、使用Fastjson库

阿里开源的Fastjson以高性能著称,适合复杂JSON结构处理。

String jsonString = JSONObject.toJSONString(params);  // 对象转JSON字符串
JSONObject jsonObject = JSONObject.parseObject(jsonString);  // 字符串转JSONObject

空值处理
通过SerializerFeature控制空值行为,例如:

String json = JSON.toJSONString(params, 
    SerializerFeature.WriteMapNullValue,  // 保留空键
    SerializerFeature.WriteNullStringAsEmpty  // null转空字符串
);

三、使用Jackson库

Jackson适合需要精细控制序列化逻辑的场景(如动态过滤字段)。

ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString(params);  // 对象转JSON字符串
JSONObject jsonObject = new JSONObject(jsonString);  // 字符串转JSONObject
  • 注解支持
    使用@JsonProperty定义字段映射关系。
http://www.dtcms.com/a/35733.html

相关文章:

  • Debezium日常分享系列之:Debezium 3.1.0.Alpha2发布
  • 【AI时代】可视化训练模型工具LLaMA-Factory安装与使用
  • 诺依框架安装
  • mysql索引
  • API测试工具:Swagger vs Postman 2025最新全面对比
  • faster rcnn FPN损失项
  • 大模型架构与训练方向
  • CSS滚动条原理与自定义样式指南,CSS滚动条样式失效,滚动条样式无效,-webkit-scrollbar无效,overflow不显示滚动条
  • MongoDB#Code和Function
  • 华三交换机S5560 NQA测试
  • vscode如何使用鼠标滚轮调整字体大小
  • 3D Web轻量化引擎HOOPS Communicator如何赋能航空航天制造?
  • 图神经网络实战(24)——基于LightGCN构建推荐系统
  • PostgreSQL 支持字段类型
  • Windows 11【1001问】Windows 11系统硬件配置要求
  • 特辣的海藻!3
  • C# winfrom 修改系统快捷键 提高效率 把难按的快捷 换成容易按的快捷键 减轻工作难度
  • 【初探数据结构】时间复杂度和空间复杂度
  • 3. Spring Cloud LoadBalancer 入门与使用
  • 快速上手 Unstructured:安装、Docker部署及PDF文档解析示例
  • vue3响应式数据原理
  • 面向机器人操作的协同、泛化和高效的双-系统
  • GoFly框架中集成Bolt 和badfer两个Go语言嵌入式键值数据库
  • uniapp在app下使用mqtt协议!!!支持vue3
  • DeepSeek技术:数字化时代的商业规则重塑者
  • 19、《Springboot+MongoDB整合:玩转文档型数据库》
  • llama.cpp 一键运行本地大模型 - Windows
  • esp工程报错:something went wrong when trying to build the project esp-idf 一种解决办法
  • [AI相关]问问DeepSeek如何基于Python,moviePy实现视频字幕功能
  • 【量化策略】动量反转策略