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

xml 和json互转工具

 工具1

有个问题会导致springboot返回捕获的异常编程xml格式

 import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.json.JSONObject;
import org.json.XML;
import org.w3c.dom.Document;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
import java.io.InputStream;public class XmlJsonConverter {private static final ObjectMapper objectMapper = new ObjectMapper(); // JSON处理private static final XmlMapper xmlMapper = new XmlMapper(); // XML处理// JSON转XMLpublic static String jsonToXml(String json) throws Exception {// 将JSON转换为MapObject jsonObj = objectMapper.readValue(json, Object.class);// 将Map转换为XMLreturn xmlMapper.writeValueAsString(jsonObj);}// XML转JSONpublic static String xmlToJson(String xml) throws Exception {// 将XML转换为MapObject xmlObj = xmlMapper.readValue(xml, Object.class);// 将Map转换为JSONreturn objectMapper.writeValueAsString(xmlObj);}// 将XML字符串转换为XML文档对象private static Document toXmlDocument(String xml) throws Exception {DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();InputStream inputStream = new ByteArrayInputStream(xml.getBytes("UTF-8"));return builder.parse(inputStream);}// 将XML文档对象转换为JSON字符串public static String xmlDocumentToJson(Document doc) throws Exception {// XML文档转换为Map对象Object xmlObj = xmlMapper.readValue(xmlMapper.writeValueAsString(doc), Object.class);// Map转换为JSONreturn objectMapper.writeValueAsString(xmlObj);}// 测试代码public static void main (String[] args) {try {// JSON 转 XMLString json = "{\"name\":\"John\", \"age\":30}";String xml = jsonToXml(json);System.out.println("JSON to XML: \n" + xml);// XML 转 JSONString xmlStr = "<person><name>John</name><age>30</age></person>";String jsonResult = xmlToJson(xmlStr);System.out.println("XML to JSON: \n" + jsonResult);}

 <!-- Jackson XML dependency --><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.15.0</version></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20210307</version></dependency><!-- Jackson Core dependency --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.15.0</version></dependency><!-- Jackson Databind dependency --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.0</version></dependency>

工具2

      <dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20210307</version></dependency>import org.json.JSONObject;
import org.json.XML;public class XmlJsonConverter {public static String jsonToXml(String json) {JSONObject jsonObject = new JSONObject(json);return XML.toString(jsonObject);}public static String xmlToJson(String xml) {JSONObject jsonObject = XML.toJSONObject(xml);return jsonObject.toString();}
}

http://www.lryc.cn/news/536527.html

相关文章:

  • ElementUI 抽屉组件高度封装
  • 深入解析:如何在C#和C/C++之间安全高效地通过P/Invoke传递多维数组
  • 轻量级在线ETL数据集成工具架构设计与技术实现深度剖析
  • 二、k8s项目的生命周期
  • GPT 系列模型发展史:从 GPT 到 ChatGPT 的演进与技术细节
  • C#语言的云计算
  • 金仓数据库-KingbaseES-学习-01-单机部署(非图形化安装)
  • 海外服务器都有什么作用?
  • git bash在github的库中上传或更新本地文件
  • vue2中 computed 计算属性
  • 自定义基座实时采集uniapp日志
  • 基于YALMIP和cplex工具箱的微电网最优调度算法matlab仿真
  • Effective Objective-C 2.0 读书笔记——内存管理(上)
  • 蓝桥杯-洛谷刷题-day5(C++)(为未完成)
  • conda 修复 libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found 简便方法
  • 数据结构之队列,哈希表
  • 讯方·智汇云校华为授权培训机构的介绍
  • 【16届蓝桥杯寒假刷题营】第1期DAY4
  • 【Linux】cron计划任务定时执行命令
  • rdian是一个结构体,pdian=^Rdian,list泛型做什么用?
  • 【05】RUST错误处理
  • WinForm 防破解、反编译设计文档
  • 1 推荐系统概述
  • Redis初阶笔记
  • electron.vite 项目创建以及better-sqlite3数据库使用
  • 【新品解读】AI 应用场景全覆盖!解码超高端 VU+ FPGA 开发平台 AXVU13F
  • Proxmox VE 8.3 qm 方式导入ESXi Linux OVA UEFI模式虚拟机
  • OpenAI 放王炸,将发布整合多项技术的 GPT-5,并免费无限使用,该模型有哪些技术亮点
  • 【前端框架与库】「深入理解 Vue 插槽」:类型、用法与实际场景解析,增强组件复用性的利器
  • 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 与基于 openEuler 构建 LVS-DR 群集