Rumah > Java > javaTutorial > Pemprosesan XML dan JSON dalam Java

Pemprosesan XML dan JSON dalam Java

WBOY
Lepaskan: 2023-06-15 21:55:48
asal
1376 orang telah melayarinya

Dengan pembangunan berterusan teknologi rangkaian, XML dan JSON telah menjadi dua format penghantaran data yang paling biasa. Sebagai bahasa pengaturcaraan arus perdana, Java juga menyediakan pelbagai alatan pemprosesan XML dan JSON untuk memudahkan pembangun menghuraikan dan menjana data. Artikel ini akan memperkenalkan cara menggunakan XML dan JSON untuk pemprosesan data dalam Java.

1. Pemprosesan XML

XML (Bahasa Penanda eXtensible) ialah bahasa penanda yang digunakan untuk menerangkan dan menghantar data. Di Java, kita boleh menggunakan kaedah berikut untuk memproses XML:

  1. Java DOM (Document Object Model)

Java DOM ialah API struktur berasaskan pokok (Application Programming Antara muka) boleh menghuraikan dokumen XML ke dalam struktur pokok untuk memudahkan pembangun melintasinya. Berikut ialah contoh Java DOM mudah:

// 指定XML文件路径
File xmlFile = new File("example.xml");

// 获取DocumentBuilderFactory实例
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

// 获取DocumentBuilder实例
DocumentBuilder builder = factory.newDocumentBuilder();

// 解析XML文件,生成Document对象
Document document = builder.parse(xmlFile);

// 获取根节点
Element root = document.getDocumentElement();

// 遍历子节点
NodeList nodeList = root.getElementsByTagName("book");
for (int i = 0; i < nodeList.getLength(); i++) {
    Element book = (Element) nodeList.item(i);
    String title = book.getElementsByTagName("title").item(0).getTextContent();
    String author = book.getElementsByTagName("author").item(0).getTextContent();
    String price = book.getElementsByTagName("price").item(0).getTextContent();
    System.out.println("title:" + title + ",author:" + author + ",price:" + price);
}
Salin selepas log masuk
  1. Java SAX (API Mudah untuk XML)

Java SAX ialah API terdorong peristiwa berdasarkan cara panggil balik acara untuk menghuraikan fail XML. Berbanding dengan Java DOM, Java SAX lebih cekap dan sesuai untuk memproses fail XML yang besar. Berikut ialah contoh Java SAX yang mudah:

// 指定XML文件路径
File xmlFile = new File("example.xml");

// 实例化SAXParserFactory对象
SAXParserFactory factory = SAXParserFactory.newInstance();

// 实例化SAXParser对象
SAXParser parser = factory.newSAXParser();

// 读入XML文件,并处理事件
DefaultHandler handler = new DefaultHandler() {
    boolean title = false;
    boolean author = false;
    boolean price = false;

    public void startElement(String uri, String localName, String qName, Attributes attributes) {
        if (qName.equals("title")) {
            title = true;
        } else if (qName.equals("author")) {
            author = true;
        } else if (qName.equals("price")) {
            price = true;
        }
    }

    public void characters(char[] ch, int start, int length) {
        if (title) {
            System.out.println("title:" + new String(ch, start, length));
            title = false;
        } else if (author) {
            System.out.println("author:" + new String(ch, start, length));
            author = false;
        } else if (price) {
            System.out.println("price:" + new String(ch, start, length));
            price = false;
        }
    }
};

parser.parse(xmlFile, handler);
Salin selepas log masuk

2. Pemprosesan JSON

JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mudah dibaca dan ditulis oleh manusia juga mudah dihuraikan dan dijana oleh mesin. Dalam Java, kita boleh menggunakan kaedah berikut untuk memproses JSON:

  1. Java JSONObject

Java JSONObject ialah kelas parsing JSON yang disediakan dalam Java SE 6. Rentetan atau aliran input boleh dihuraikan untuk menjana objek JSON. Berikut ialah contoh Java JSONObject yang mudah:

// 定义JSON字符串
String jsonString = "{"name":"Lucy","age":20,"hobby":["reading","music"]}";

// 解析JSON字符串
JSONObject json = new JSONObject(jsonString);

// 获取对象属性
String name = json.getString("name");
int age = json.getInt("age");
JSONArray hobby = json.getJSONArray("hobby");

// 遍历数组
for (int i = 0; i < hobby.length(); i++) {
    System.out.println(hobby.get(i));
}
Salin selepas log masuk
  1. Java GSON

GSON ialah perpustakaan Java yang disediakan oleh Google yang boleh menukar rentetan JSON kepada objek Java atau Tukar objek Java kepada rentetan JSON. Berikut ialah contoh Java GSON yang mudah:

// 定义JSON字符串
String jsonString = "{"name":"Lucy","age":20,"hobby":["reading","music"]}";

// 解析JSON字符串
Gson gson = new Gson();
User user = gson.fromJson(jsonString, User.class);

// 获取对象属性
String name = user.getName();
int age = user.getAge();
List<String> hobby = user.getHobby();

// 遍历列表
for (String item : hobby) {
    System.out.println(item);
}
Salin selepas log masuk

Perhatikan bahawa kelas Pengguna di sini perlu sepadan dengan format rentetan JSON dan mengandungi atribut dan jenis atribut yang sama.

3. Kesimpulan

Menggunakan XML dan JSON untuk pemprosesan data dalam Java membolehkan pembangun melengkapkan penghantaran dan analisis data dengan lebih cekap. Bergantung pada syarat khusus data, anda boleh memilih Java DOM, Java SAX, Java JSONObject, Java GSON dan alatan lain yang berkaitan untuk pembangunan.

Atas ialah kandungan terperinci Pemprosesan XML dan JSON dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan