JSONUtil

简介: 提供常用数据结构与JSON互转工具方法,涵盖数组、对象、Map、List、字符串及XML与JSON间的相互转换,使用Hutool、Fastjson等工具简化操作,提升开发效率。

引用
以下包在未主动声明前提下,均为下述引用
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;
}

相关文章
|
Arthas Kubernetes 数据可视化
推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
上周,我们推出了26个好玩又有挑战的前端练习项目。 不少同学留言说,那后端的呢?后端也要! 淘系工程师一呼就应,我们邀请了2位淘系技术后端工程师,筛选出10个难度层层递进,好玩且实用的后端项目,包含java类库中的“瑞士军刀”工具、可视化API展现等等,难度依然分为【初级篇:4个】、【中级篇:3个】、【高级篇:3个】,不同学习诉求的同学可按需选择~
推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
|
Java 开发者
使用BigDecimal类进行精确的加、减、乘、除操作,并比较BigDecimal数组元素大小
总结起来,BigDecimal类是Java中一个强大的工具,用于精确控制浮点数运算,避免了传统浮点类型因精度问题可能造成的错误。在需要精确计算的场景中,如金融系统、科学计算等,BigDecimal是首选。通过以上介绍的方法,可以对BigDecimal进行高效稳定的算数操作及大小比较。
1370 12
|
11月前
|
JSON 安全 JavaScript
HTTPS 原理
HTTPS是HTTP与SSL/TLS的结合,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据。它确保了通信的机密性、完整性和服务器真实性,在互联网上构建安全加密通道。
|
11月前
|
人工智能 安全 数据可视化
面向业务落地的AI产品评测体系设计与平台实现
在AI技术驱动下,淘宝闪购推进大模型应用落地,构建覆盖“评什么、怎么评、如何度量”的全链路评测体系。面对研发模式变革与Agent复杂性挑战,平台以端到端评测为主、分层测评为辅,打造可回放环境、多裁判机制及变更分级策略,实现质量与效率平衡。已支撑10+部门、90+AI产品,沉淀千余评测集,问题解决率超80%。未来将拓展多模态评测、可视化标注与插件市场,推动评测生态化发展。
|
12月前
|
JSON 安全 JavaScript
深入浅出解析 HTTPS 原理
HTTPS是HTTP与SSL/TLS结合的安全协议,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据,确保通信的机密性、完整性和真实性。整个过程如同建立一条加密隧道,保障网络交互安全。
2890 16
|
缓存 NoSQL Java
RedisTemplate操作Redis,这一篇文章就够了
redis是一款开源的Key-Value数据库,运行在内存中,由C语言编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 等。
3787 1
|
11月前
|
消息中间件 Java 数据格式
微服务核心组件:消息中间件(MQ)从入门到实战
本章深入讲解微服务中消息中间件的核心作用,聚焦RabbitMQ与SpringAMQP实战。涵盖同步与异步通信对比、MQ选型分析,通过Docker快速部署RabbitMQ,详解生产者/消费者模型、四种消息模式(简单队列、工作队列、发布订阅、通配符路由),并引入prefetch优化与JSON序列化提升性能。结合注解驱动开发,全面掌握高可用、低耦合的异步通信架构设计。(239字)
|
11月前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景的准确性与安全性。分块策略是其核心,直接影响检索效果与答案质量。本文系统解析五种主流分块方法——固定大小、语义、递归、基于结构及LLM分块,对比优缺点与适用场景,助力构建高效、可靠的RAG系统。
|
11月前
|
消息中间件 物联网 测试技术
语音通知
适用于科技公司服务器及物联网设备异常时的语音告警。开通语音服务后,可申请模板、资质与号码,通过API调用实现变量替换的语音通知,支持公共/专属模式,实时推送呼叫结果,提升告警响应效率。
|
11月前
|
存储 人工智能 运维
UModel PaaS API 架构设计与最佳实践
UModel PaaS API 通过“表-对象-元数据”三层抽象,屏蔽底层复杂性,统一可观测数据访问。支持 SPL 一键查询、实体方法调用与 AI 自主探索,降低开发门槛,提升运维效率。

热门文章

最新文章