当前位置: 首页 > 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定义字段映射关系。

相关文章:

  • 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文档解析示例
  • 第十届曹禺剧本奖上海揭晓,首次开放个人申报渠道
  • 北京韩美林艺术馆党支部书记郭莹病逝,终年40岁
  • 上海比常年平均时间提前12天入夏,明天最高气温可达33℃
  • 一船明月过沧州:为何这座城敢称“文武双全”?
  • A股午后拉升,沪指收复3400点:大金融发力,两市成交超1.3万亿元
  • 多条跨境铁路加速推进,谁是下一个“超级枢纽”?