java处理XML与JSON解析方法

在 Java 中处理 XML 和 JSON 的解析可以使用多种库。以下是常见的解析方法和示例代码:
处理 XML

    使用 DOM 解析

java

import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;

public class XMLParser {
    public static void main(String[] args) throws Exception {
        File inputFile = new File("input.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(inputFile);
        doc.getDocumentElement().normalize();
        
        NodeList nodeList = doc.getElementsByTagName("elementName");
        for (int i = 0; i < nodeList.getLength(); i++) {
            Element element = (Element) nodeList.item(i);
            System.out.println("Value: " + element.getTextContent());
        }
    }
}

    使用 SAX 解析

java

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class SAXParser extends DefaultHandler {
    public static void main(String[] args) throws Exception {
        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser saxParser = factory.newSAXParser();
        SAXParser parser = new SAXParser();
        saxParser.parse("input.xml", parser);
    }

    public void startElement(String uri, String localName, String qName, Attributes attributes) {
        System.out.println("Start Element: " + qName);
    }

    public void endElement(String uri, String localName, String qName) {
        System.out.println("End Element: " + qName);
    }

    public void characters(char[] ch, int start, int length) {
        System.out.println("Characters: " + new String(ch, start, length));
    }
}

处理 JSON

    使用 Jackson

java

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonParser {
    public static void main(String[] args) throws Exception {
        ObjectMapper objectMapper = new ObjectMapper();
        MyClass myObject = objectMapper.readValue(new File("input.json"), MyClass.class);
        System.out.println(myObject);
    }

    static class MyClass {
        public String name;
        public int age;
        // getters and setters
    }
}

    使用 Gson

java

import com.google.gson.Gson;
import java.io.FileReader;

public class GsonParser {
    public static void main(String[] args) throws Exception {
        Gson gson = new Gson();
        MyClass myObject = gson.fromJson(new FileReader("input.json"), MyClass.class);
        System.out.println(myObject);
    }

    static class MyClass {
        public String name;
        public int age;
        // getters and setters
    }
}

总结

以上是 Java 中处理 XML 和 JSON 的基本方法。根据项目需求选择适合的库和解析方式。

请使用浏览器的分享功能分享到微信等