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;
}

相关文章
|
9月前
|
Java 开发者
使用BigDecimal类进行精确的加、减、乘、除操作,并比较BigDecimal数组元素大小
总结起来,BigDecimal类是Java中一个强大的工具,用于精确控制浮点数运算,避免了传统浮点类型因精度问题可能造成的错误。在需要精确计算的场景中,如金融系统、科学计算等,BigDecimal是首选。通过以上介绍的方法,可以对BigDecimal进行高效稳定的算数操作及大小比较。
1047 12
|
4月前
|
人工智能 计算机视觉 测试技术
Meta SAM3开源
Meta发布并开源SAM 3,首个支持文本、点、框等多提示的统一图像视频分割模型,突破性实现开放词汇概念的全实例分割。基于Meta Perception Encoder与DETR架构,结合AI与人工协同数据引擎,构建超400万概念数据集,在SA-Co基准达人类水平75%-80%。支持大规模可提示分割与跟踪,推动视觉基础模型新进展。(239字)
|
5月前
|
JSON 安全 JavaScript
深入浅出解析 HTTPS 原理
HTTPS是HTTP与SSL/TLS结合的安全协议,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据,确保通信的机密性、完整性和真实性。整个过程如同建立一条加密隧道,保障网络交互安全。
2436 16
|
4月前
|
机器学习/深度学习 人工智能 算法
让AI真正读懂长文本的秘密武器
通义实验室推出QwenLong-L1.5,基于Qwen3-30B-A3B打造的长文本推理专家。通过高质量多跳数据合成、稳定强化学习算法与突破窗口限制的记忆框架,系统性解决长文本“学不好、用不了”难题,在多跳推理、超长上下文等任务中媲美GPT-5与Gemini。
|
4月前
|
Java Spring
GateWay实现原理
Spring Cloud Gateway基于Spring WebFlux与Netty,实现高性能非阻塞通信。启动时创建Netty Server接收客户端请求,经路由匹配与过滤器处理后,由Netty Client转发至目标服务,响应反向经过滤器处理后返回,全程非阻塞,提升系统吞吐能力。(238字)
|
4月前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景的准确性与安全性。分块策略是其核心,直接影响检索效果与答案质量。本文系统解析五种主流分块方法——固定大小、语义、递归、基于结构及LLM分块,对比优缺点与适用场景,助力构建高效、可靠的RAG系统。
|
4月前
|
人工智能 安全 数据可视化
面向业务落地的AI产品评测体系设计与平台实现
在AI技术驱动下,淘宝闪购推进大模型应用落地,构建覆盖“评什么、怎么评、如何度量”的全链路评测体系。面对研发模式变革与Agent复杂性挑战,平台以端到端评测为主、分层测评为辅,打造可回放环境、多裁判机制及变更分级策略,实现质量与效率平衡。已支撑10+部门、90+AI产品,沉淀千余评测集,问题解决率超80%。未来将拓展多模态评测、可视化标注与插件市场,推动评测生态化发展。
|
4月前
|
消息中间件 Java 数据格式
微服务核心组件:消息中间件(MQ)从入门到实战
本章深入讲解微服务中消息中间件的核心作用,聚焦RabbitMQ与SpringAMQP实战。涵盖同步与异步通信对比、MQ选型分析,通过Docker快速部署RabbitMQ,详解生产者/消费者模型、四种消息模式(简单队列、工作队列、发布订阅、通配符路由),并引入prefetch优化与JSON序列化提升性能。结合注解驱动开发,全面掌握高可用、低耦合的异步通信架构设计。(239字)
|
4月前
|
JSON 安全 JavaScript
HTTPS 原理
HTTPS是HTTP与SSL/TLS的结合,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据。它确保了通信的机密性、完整性和服务器真实性,在互联网上构建安全加密通道。

热门文章

最新文章