为了账号安全,请及时绑定邮箱和手机立即绑定

Java XML转JSON:轻松实现数据格式转换的实用指南

标签:
杂七杂八
Java XML转JSON

在IT领域,数据交换格式多种多样,其中XML和JSON是最常用的两种。Java作为一种广泛应用的编程语言,提供了丰富的API来处理各种数据格式。本文将介绍如何使用Java将XML数据转换为JSON格式。

XML与JSON

XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它的优势在于具有自我描述性,易于理解和阅读。而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于被人类和机器阅读和编写,具有良好的可扩展性。

Java处理XML与JSON

在Java中,我们可以使用javax.xml.parsers包中的类来解析和处理XML数据。同时,使用org.json包中的类来处理JSON数据。以下是一个简单的XML转JSON的示例。

首先,创建一个XML文件,例如input.xml

<?xml version="1.0"?>
<students>
    <student>
        <name>张三</name>
        <age>21</age>
        <major>计算机科学</major>
    </student>
    <student>
        <name>李四</name>
        <age>22</age>
        <major>软件工程</major>
    </student>
</students>

然后,创建一个Java类XmlToJson,用于将上述XML文件转换为JSON:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class XmlToJson {

    public static void main(String[] args) {
        try {
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse("input.xml");

            JSONArray jsonArray = new JSONArray();

            NodeList students = doc.getElementsByTagName("student");
            for (int i = 0; i < students.getLength(); i++) {
                JSONObject student = new JSONObject();
                Node studentNode = students.item(i);

                NodeList studentInfo = studentNode.getChildNodes();
                for (int j = 0; j < studentInfo.getLength(); j++) {
                    Node info = studentInfo.item(j);
                    String name = info.getNodeName();
                    String value = info.getTextContent();

                    if ("name".equals(name)) {
                        student.put("name", value);
                    } else if ("age".equals(name)) {
                        student.put("age", value);
                    } else if ("major".equals(name)) {
                        student.put("major", value);
                    }
                }

                jsonArray.put(student);
            }

            System.out.print(jsonArray);
        } catch (ParserConfigurationException | SAXException | IOException | JSONException e) {
            e.printStackTrace();
        }
    }
}

运行上述Java类,输出结果如下:

[
    {
        "name": "张三",
        "age": "21",
        "major": "计算机科学"
    },
    {
        "name": "李四",
        "age": "22",
        "major": "软件工程"
    }
]

通过上述示例,我们可以看到如何使用Java将

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消