首页 > 其他分享 >xml字符串转JSON字符串

xml字符串转JSON字符串

时间:2024-09-19 10:51:45浏览次数:1  
标签:xml jackson String JSON 字符串 public

xml字符串转JSON字符串,可以直接通过jackson提供的方法进行快速转换。在web项目中通常会引入spring-boot-starter-web依赖。

但是spring-boot-starter-web依赖包括Jackson的JSON处理库(如jackson-databindjackson-core等),不一定直接包含处理XML的Jackson库(如jackson-dataformat-xml),因此你可能需要额外引入依赖

        <!-- 通过继承机制来间接指定版本号,同时避免Jackson的版本冲突 -->        
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>

 

xml字符串转JSON字符串,代码示例:

    public static String convertXmlToJson(String xml) throws Exception {
        XmlMapper xmlMapper = new XmlMapper();
        JsonNode jsonNode = xmlMapper.readTree(xml);
        ObjectMapper jsonMapper = new ObjectMapper();
        // 将JsonNode转换为JSON字符串
        return jsonMapper.writeValueAsString(jsonNode);
    }

 

xml字符串转Java类对象,代码示例:

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;  
  
@JacksonXmlRootElement(localName = "user") // localName用以指定xml文档根元素的key
public class User {  
    private String name;  
    private int age;  
  
    // getter和setter省略  
} 
 public class XmlConverter {  
  
    public static <T> T convertXmlToJavaObject(String xml, Class<T> clazz) throws Exception {  
        XmlMapper xmlMapper = new XmlMapper();  
        // 使用readValue方法将XML字符串反序列化为Java对象  
        return xmlMapper.readValue(xml, clazz);  
    }  
  
    public static void main(String[] args) {  
        String xml = "<user><name>John Doe</name><age>30</age></user>";  
        try {  
            User user = convertXmlToJavaObject(xml, User.class);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}

 

标签:xml,jackson,String,JSON,字符串,public
From: https://www.cnblogs.com/ashet/p/18420152

相关文章

  • 对象字符串转换为数组对象
    数据源格式:'{\n"填写说明":"每个学期的开学之前,需要调整这里面的配置,这样课表和一卡通对接的才能是正确的数据",\n"学年编号":"2024-2025",\n"学期编号":"1"\n}'"{"填写说明":"每个学期的开学之前,需要调整这里面的配置,这样课表和一卡......
  • 2414.最长的字母序连续字符串的长度
    字母序连续字符串是由字母表中连续字母组成的字符串。换句话说,字符串"abcdefghijklmnopqrstuvwxyz"的任意子字符串都是字母序连续字符串。例如,"abc"是一个字母序连续字符串,而"acb"和"za"不是。给你一个仅由小写英文字母组成的字符串s,返回其最长的字母序连续子字......
  • c++1095: 时间间隔(多实例测试) (字符串和字符以及数字的转换)
    问题描述:题目描述从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数,并在main()中调用这两个函数实现相应的功能/*三个形参分别为为用于表示一个时间点的时、分、秒,函数返回对应的秒。*/int HmsToS(int......
  • 查询字符串在数据库哪些表那些列存在/根据字符串快速定位表定位列
    1SETQUOTED_IDENTIFIEROFF2GO3SETANSI_NULLSOFF4GO56IFEXISTS(SELECT*FROMdbo.sysobjectsWHEREid=OBJECT_ID(N'sp_FindString')ANDOBJECTPROPERTY(id,N'IsProcedure')=1)7DROPPROCEDUREsp_FindString8GO......
  • 2606. 找到最大开销的子字符串
    题目链接2606.找到最大开销的子字符串思路前缀和/动态规划-最长子数组和-简单变体题解链接【转换】最大子数组和(Python/Java/C++/Go)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(动态规划):classSolution:defmaximumCostSubstring(......
  • 最终版本的pom.xml(springboot连接hive)
    1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://maven.apa......
  • ICPC2021 沈阳站 M String Problem 题解 | 十种做法一网打尽 , 一道题带你回顾字符串科
    题目传送门题意给定一个字符串,求每个前缀的字典最大序子串。注意到:对于每个前缀$s_{[1,i]}$,字典序最大子串的右边界一定是\(i\)。随着着\(i\)的增大,字典序最大子串的左边界一定是单调不减的。解法不分先后。后缀数组SASA&SAM后缀数组&后缀自动机SA对所有......
  • XML映射器-高级查询结果映射
    01-高级查询结果映射emp表dept表02-多表关联查询映射多对一映射项目中Emp类的数据项目中dept类的数据想要多表查询需要建个公共类里面写入两个表中的属性,如下面方法type里要写用到的类型,由于继承Emp所有Emp里面的属性直接写,column是写数据库的别字,property是......
  • C#——LINQ to XML(使用 Descendants 方法查找单个子代)
    xml位于命名空间中时查找staticvoidMain(string[]args){XElementroot=XElement.Parse(@"<aw:Rootxmlns:aw='http://www.efun.com'><aw:Child1><aw:GrandChild1>GC1Value</aw:GrandChild1>&l......
  • C#——LINQ to XML(内容快速查找)
    staticvoidMain(string[]args){XElementpurchaseOrder=XElement.Load("Contacts.xml");stringpartNos=(string)(fromiteminpurchaseOrder.Descendants("City")......