JSONUtil

简介: 提供常用数据结构与JSON互转工具方法,涵盖数组、对象、Map、List、XML等类型转换,使用Hutool、Fastjson及JSON-lib实现,简洁高效,便于Java开发中处理JSON数据。

引用
以下包在未主动声明前提下,均为下述引用
import cn.hutool.core.util.XmlUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;
一维数组转JSON
public static String arrToJson(String[] arr) {
String jsonStr = JSONArray.fromObject(arr).toString();
System.out.println("数组转json:" + jsonStr);
return jsonStr;
}
二维数组转JSON
public static String twoArrToJson(String[][] arr) {
String jsonStr = JSONArray.fromObject(arr).toString();
System.out.println("数组转json:" + jsonStr);
return jsonStr;
}
Object转JSON
public static String objectToJson(Object object) {
String jsonStr = JSONArray.fromObject(object).toString();
System.out.println("对象转json:" + jsonStr);
return jsonStr;
}
JSON转Object
public static T jsonToObject(String pojo, Class clazz) {
return com.alibaba.fastjson.JSONObject.parseObject(pojo, clazz);
}
Map转JSON
public static String mapToJson(Map map) {
String jsonStr = JSONObject.fromObject(map).toString();
System.out.println("map转json:" + jsonStr);
return jsonStr;
}
JSON转Map
public static void jsonToMap(String jsonStr) {
Map map= (Map)com.alibaba.fastjson.JSONObject.parse(jsonStr);
}
List转JSON
public static String listToJson(List<?> list) {
String jsonStr = JSONArray.fromObject(list).toString();
System.out.println("list转json:" + jsonStr);
return jsonStr;
}
JSON转List
public static List jsonToList(String jsonString, Class clazz) {
List ts = com.alibaba.fastjson.JSONArray.parseArray(jsonString, clazz);
return ts;
}
String转JSON
public static void stringToJson(String[] args) {
String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
JSONObject json = JSONObject.fromObject(str);
System.out.println(json.toString());
}
XML转JSON
public static JSONObject xmlToJson(String xmlStr) {
Map result = XmlUtil.xmlToMap(xmlStr);
JSONObject jsonObject = JSONObject.fromObject(result);
System.out.println(jsonObject);
return jsonObject;
}

目录
相关文章
|
5月前
|
存储 缓存 Java
【Java基础】基本数据类型 vs 包装类、自动装箱/拆箱、Integer缓存机制(附《思维导图》+《面试考点背诵版》)
本文系统梳理了Java中基本数据类型与包装类的核心知识点。主要内容包括:1)8种基本数据类型与对应包装类的对比,分析存储位置、默认值、性能等差异;2)自动装箱/拆箱机制的原理、触发场景及常见陷阱;3)重点解析Integer缓存机制,包括默认范围、源码实现及JVM参数配置方法。文章通过表格对比、代码示例和面试题解析,帮助开发者深入理解包装类的设计意义和使用规范,避免空指针异常等常见问题,提升代码质量与性能。
|
10月前
|
SQL 移动开发 Oracle
Oracle 窗口函数
想在看员工薪水的同时,还能在同一行看到他所在部门的平均薪水吗?或者想给每个部门的产品按销量排名?这就是窗口函数的魔力。它不像GROUP BY会把数据压缩成一行,而是为每一行都进行一次“开窗”计算。通过OVER(PARTITION BY ...),你可以轻松实现分组排名、累计求和、或是与前后行数据对比等高级分析,代码比复杂的自连接和子查询要优雅得多。
838 0
|
消息中间件 缓存 前端开发
Springboot 整合 WebSocket ,使用STOMP协议 ,前后端整合实战 (一)
Springboot 整合 WebSocket ,使用STOMP协议 ,前后端整合实战 (一)
3939 1
Springboot 整合 WebSocket ,使用STOMP协议 ,前后端整合实战 (一)
|
人工智能 Java 开发工具
《Java 人工智能开发:Eclipse 与 IntelliJ IDEA 双雄助力》
在Java与人工智能深度融合的开发浪潮中,选择合适的IDE至关重要。Eclipse和IntelliJ IDEA作为Java开发领域的两大翘楚,均表现出色。Eclipse以其开源、稳定的代码编辑环境和丰富的插件生态系统著称,特别适合需要集成数据库和机器学习库的项目。而IntelliJ IDEA则凭借智能代码分析、强大的重构功能和对深度学习框架(如TensorFlow)的优秀支持,成为追求高效开发体验的首选。开发者可以根据个人习惯、项目需求及团队技术栈选择最适合的工具,确保高效的开发和协作。这两款IDE都为Java人工智能项目的代码编写、项目管理和库集成提供了强有力的支持。
842 25
|
消息中间件 存储 数据可视化
【RocketMq-生产者】消息发送者参数详解
首先注意本次讨论的RokcetMq源码版本为 4.9.4,距离5.0发布 的没有多久。 这一节针对RocketMq的生产者请求发送的部分细节进行阐述,主要包含了下面的内容:DefaultMQProducer 为生产者默认对象,这个对象继承自 ClientConfig,里面包含了请求者的通用配置,所以可以拆分为两个部分进行理解,第一部分为ClientConfig,第二部分为DefaultMQProducer。
1216 0
|
Java fastjson Apache
【数据安全】数据脱敏方案总结
【数据安全】数据脱敏方案总结
1686 1
|
SQL 关系型数据库 MySQL
数据库:MYSQL参数max_allowed_packet 介绍
数据库:MYSQL参数max_allowed_packet 介绍
2428 2
|
Linux
无敌解决GitHub无法ping通也无法登录的问题无敌解决idea连接GitHub提示Invalid authentication data. Connection reset
无敌解决GitHub无法ping通也无法登录的问题无敌解决idea连接GitHub提示Invalid authentication data. Connection reset
1569 1
|
运维 监控 前端开发
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
2314 1

热门文章

最新文章