ホームページ >Java >&#&チュートリアル >Java での XML および JSON 処理

Java での XML および JSON 処理

WBOY
WBOYオリジナル
2023-06-15 21:55:481353ブラウズ

ネットワーク技術の継続的な発展により、XML と JSON が 2 つの最も一般的なデータ送信形式になりました。 Java は主流のプログラミング言語として、開発者がデータを解析して生成できるようにする豊富な XML および JSON 処理ツールも提供します。この記事では、Java でのデータ処理に XML と JSON を使用する方法を紹介します。

1. XML 処理

XML (eXtensible Markup Language) は、データの記述と送信に使用されるマークアップ言語です。 Java では、次のメソッドを使用して XML を処理できます。

  1. Java DOM (ドキュメント オブジェクト モデル)

Java DOM は、ツリーベースの構造 API (アプリケーション プログラミング) です。インターフェイス)は、XML ドキュメントをツリー構造に解析して、開発者が容易にそれをたどることができます。以下は、単純な Java DOM の例です。

// 指定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);
}
  1. Java SAX (Simple API for XML)

Java SAX は、イベント コールバックを使用するイベント駆動型 API です。 XML ファイルを解析します。 Java DOM と比較して、Java SAX はより効率的であり、大きな XML ファイルの処理に適しています。以下は簡単な Java SAX の例です:

// 指定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);

2. JSON 処理

JSON (JavaScript Object Notation) は、人間が読み書きしやすい軽量のデータ交換形式です。機械による解析や生成も簡単です。 Java では、次のメソッドを使用して JSON を処理できます。

  1. Java JSONObject

Java JSONObject は、Java SE 6 で提供される JSON 解析クラスです。文字列または入力ストリーム解析して JSON オブジェクトを生成できます。簡単な Java JSONObject の例を次に示します。

// 定义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));
}
  1. Java GSON

GSON は、JSON 文字列を Java オブジェクトに変換したり、Java オブジェクトを変換したりできる、Google が提供する Java ライブラリです。 JSON文字列に変換します。以下は、単純な Java GSON の例です。

// 定义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);
}

ここでの User クラスは、JSON 文字列の形式に対応し、同じ属性と属性タイプが含まれている必要があることに注意してください。

3. 結論

Java でのデータ処理に XML と JSON を使用すると、開発者はデータの送信と分析をより効率的に完了できます。データの特定の条件に応じて、Java DOM、Java SAX、Java JSONObject、Java GSON、およびその他の開発用関連ツールを選択できます。

以上がJava での XML および JSON 処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。