java xml转json

这篇具有很好参考价值的文章主要介绍了java xml转json。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java xml转json
技术博客 http://idea.coderyj.com/

最近在对接海康摄像头不支持json 返回的数据是xml尝试了各种方法,所以来总结一下
1.得到xml数据
<?xml version="1.0" encoding="UTF-8"?>
<TwoWayAudioChannelList version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">
    <TwoWayAudioChannel version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">
        <id>1</id>
        <enabled>false</enabled>
        <audioCompressionType>G.711ulaw</audioCompressionType>
        <speakerVolume>100</speakerVolume>
        <microphoneVolume>100</microphoneVolume>
        <noisereduce>true</noisereduce>
        <audioInputType>LineIn</audioInputType>
        <audioOutputType>Speaker</audioOutputType>
    </TwoWayAudioChannel>
</TwoWayAudioChannelList>
2.java 将xml转json
  • 依赖包
<dependency>
	<groupId>org.dom4j</groupId>
	<artifactId>dom4j</artifactId>
	<version>2.1.3</version>
</dependency>
  • 上代码
public class CommonUtils {
    // xml 转换为json
    public static JSONObject xmlToJSON(String xmlString) {
        try {
            // 1、读取文件并转换为Document文档对象
            Document doc = new SAXReader().read(new ByteArrayInputStream(xmlString.getBytes("UTF-8")));
            //2、使用asXML()方法将DOM文档对象转换为字符串
            String s = doc.asXML();
            //3、调用自定义的方法转换为JSON数据格式
            JSONObject jsonObject = startXMLToJSON(s);
            //4、输出结果
//            System.out.println(jsonObject);
            return jsonObject;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    /**
     * 自定义*/
    public static JSONObject startXMLToJSON(String xml){
        //1、定义JSON对象保存结果
        JSONObject result = new JSONObject();
        try {
            //2、使用DocumentHelper.parseText()转换为DOM文档对象
            Document document = DocumentHelper.parseText(xml);
            //3、获取DOM文档根节点
            Element rootElement = ((Document) document).getRootElement();
            //4、调用自定义的方法转换为JSON数据格式
            parseJson(rootElement,result);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void parseJson(Element element,JSONObject result){
        //1、获取子节点列表
        List<Element> elements = element.elements();
        //2、循环子节点列表获取数据
        for (Element e:elements) {
            //3、有数据则获取
            if (!e.elements().isEmpty() && !e.getText().isEmpty()){
                //4、定义另一个JSON对象保存子节点JSON数据
                JSONObject cjson = new JSONObject();
                //5、此处调用自身继续方法继续循环取值,知道遍历完所有字节点数据
                parseJson(e,cjson);
                if (!cjson.isEmpty()){
                    //6、添加到JSON对象
                    result.put(e.getName(),cjson);
                }
            }else {
                if (!e.getText().isEmpty()){
                    //6、添加到JSON对象
                    result.put(e.getName(),e.getText());
                }
            }
        }
    }
}

ps new ByteArrayInputStream(xmlString.getBytes("UTF-8")) 一定要先转换为utf8才可以不然会直接失败文章来源地址https://www.toymoban.com/news/detail-682977.html

到了这里,关于java xml转json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • xml转json

    初始 xml 格式如下: 上述转成 json 格式就是: 但是 java 不止一个版本,我们需要的格式就如下: 如果我们要做到上诉 json 所示,需要 xml 格式为如下,但是有时候数据就只有单个的情况下,我们格式转换就有问题 问题:就是我们不知道 xml 中的元素是单个元素还是一个数组形

    2024年02月10日
    浏览(25)
  • yml、xml、json文件

    目录 一、yml (1)注释 (2)内容语法 (3)取名规范 二、xml (1)注释 (2)内容语法

    2024年02月06日
    浏览(42)
  • 【工具】XML和JSON互相转换

    2024年02月12日
    浏览(31)
  • python转xml为json

    以下代码取自获取PA防火墙策略XML文件并转为JSON文件的场景: 通过PA防火墙API获取防火墙策略 防火墙策略xpath为./result/security/rules/entry 以下代码实现将所有entry即策略与策略相关属性转为json对象并存储至文件

    2024年02月06日
    浏览(29)
  • xml和json互转工具类

    这里为了更全面的演示,所以嵌套三层 第三层: 第二层: 第三层: json转xml  xml转json:

    2024年02月10日
    浏览(31)
  • 序列化协议:JSON和XML

    作者:CARROT 链接:https://www.zhihu.com/question/604811576/answer/3100483698 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   json和xml都是数据传输的格式。比如我们开发过程中需要和网页交换数据,我们既可以使用json格式也可以使用xml格式。再

    2024年02月11日
    浏览(25)
  • API接口常用数据格式Json,Json的定义和XML的区别

    现在程序员还有谁不知道 JSON 吗?无论对于前端还是后端,JSON 都是一种常见的数据格式。那么 JSON 到底是什么呢? JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传

    2024年02月12日
    浏览(32)
  • 数据转换篇---json to xml格式

    2024年02月13日
    浏览(41)
  • C++QT开发——Xml、Json解析

    可扩展标记语言,标准通用标记语言(Extensible Markup Language)的子集,简称XML,是一种定义电子文档结构和描述其内容的国际标准语言,被设计用来传输和存储数据。 可扩展标记语言与Access],Oracle]和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:

    2024年02月06日
    浏览(27)
  • Generate XML or JSON Schemas

    XMLSpy 2024 adds an AI Assistant to help developers create schemas, instance documents, and sample data from natural language prompts. Altova XMLSpy is a JSON and XML editor for modeling, editing, transforming and debugging related technologies. It includes a graphical schema designer, code generation, file converters, debuggers and profilers for working wit

    2024年02月05日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包