0Pricing
C# Academy · レッスン

JSONとXMLを扱う

C#アプリケーションでJSONとXMLの構造化データを処理します

「JSONとXMLを扱う」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン2/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全5レッスンが含まれています。

JSON と XML の概要

JSON と XML の扱い

次のレッスンへようこそ!このレッスンでは、データの保存や交換によく使われる 2 つの形式である JSON と XML を、C# で扱う方法を学びます。それでは始めましょう!

JSONとXMLを扱う — イラスト1

JSON とは

JSON とは

JSON(JavaScript Object Notation)は、軽量なデータ交換形式です。人間にとって読み書きしやすく、コンピューターにとって解析や生成が容易です。

例:

{
  "name": "Alice",
  "age": 25,
  "city": "New York"
}

ヒント: JSON は、API やアプリケーション間でのデータ交換によく使われます。

C# で JSON を扱う

C# で JSON を扱う

C# で JSON を扱うには、System.Text.Json 名前空間を使用できます。例:

重要なポイント: シンプルで効率的な JSON 処理には、JsonSerializer を使用します。

using System;
using System.Text.Json;

class Program {
    static void Main() {
        string json = "{\"name\":\"Alice\",\"age\":25,\"city\":\"New York\"}";

        // Deserialize JSON to an object
        var person = JsonSerializer.Deserialize<Person>(json);
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");

        // Serialize an object to JSON
        string newJson = JsonSerializer.Serialize(person);
        Console.WriteLine("Serialized JSON: " + newJson);
    }
}

class Person {
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

XML とは

XML とは

XML(eXtensible Markup Language)は、構造化データに使用できる柔軟なテキスト形式です。データの保存や構成ファイルによく使われます。

例:


  Alice
  25
  New York

ヒント: XML は JSON より冗長ですが、より複雑な構造やメタデータに対応しています。

C# で XML を扱う

C# で XML を扱う

C# で XML を扱うには、System.Xml 名前空間を使用できます。例:

重要なポイント: オブジェクトと XML の相互変換には、XmlSerializer を使用します。

using System;
using System.Xml.Serialization;
using System.IO;

class Program {
    static void Main() {
        string xml = "<Person><Name>Alice</Name><Age>25</Age><City>New York</City></Person>";

        // Deserialize XML to an object
        var serializer = new XmlSerializer(typeof(Person));
        using (var reader = new StringReader(xml)) {
            var person = (Person)serializer.Deserialize(reader);
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");
        }

        // Serialize an object to XML
        var newPerson = new Person { Name = "Bob", Age = 30, City = "San Francisco" };
        using (var writer = new StringWriter()) {
            serializer.Serialize(writer, newPerson);
            Console.WriteLine("Serialized XML: " + writer.ToString());
        }
    }
}

public class Person {
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

JSON と XML の比較

JSON と XML の比較

JSON と XML を比較してみましょう。

  • JSON: 軽量で読み書きしやすく、API や最新のアプリケーションに適しています。
  • XML: より冗長ですが複雑な構造に対応しており、レガシーシステムや構成ファイルで広く使われています。

ヒント: 用途とデータの複雑さに応じて形式を選択します。

練習問題

練習問題

オブジェクトのリストを JSON 形式と XML 形式にシリアライズし、その後オブジェクトにデシリアライズするプログラムを作成してください。例:

using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Xml.Serialization;
using System.IO;

class Program {
    static void Main() {
        var people = new List<Person> {
            new Person { Name = "Alice", Age = 25, City = "New York" },
            new Person { Name = "Bob", Age = 30, City = "San Francisco" }
        };

        // Serialize to JSON
        string json = JsonSerializer.Serialize(people);
        Console.WriteLine("JSON:\n" + json);

        // Serialize to XML
        var serializer = new XmlSerializer(typeof(List<Person>));
        using (var writer = new StringWriter()) {
            serializer.Serialize(writer, people);
            Console.WriteLine("XML:\n" + writer.ToString());
        }
    }
}

public class Person {
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

JSON と XML のベストプラクティス

JSON と XML のベストプラクティス

以下にベストプラクティスを示します。

  • 軽量で人間が読みやすいデータ交換には JSON を使用します。
  • 複雑な構造やメタデータが豊富な構成には XML を使用します。
  • 互換性を確保するため、データ形式を検証します。

ヒント: 必要に応じて、Newtonsoft.Json などのライブラリを高度な JSON 処理に使用します。

JSON と XML の復習

よくできました!

おめでとうございます!C# でデータを保存および交換するために、JSON と XML を扱う方法を学びました。次のレッスンでは、プログラムの堅牢性を高めるための例外処理について学びます。引き続きコーディングしましょう!

JSONとXMLを扱う — イラスト10

よくある質問

「JSONとXMLを扱う」レッスンは無料ですか?

はい。「JSONとXMLを扱う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全5レッスンが含まれています。

「JSONとXMLを扱う」で何を学びますか?

C#アプリケーションでJSONとXMLの構造化データを処理します ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C# Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/5です。

「JSONとXMLを扱う」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC# Academyレッスンでコードを書いて実行できますか?

はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ファイルの読み書き
  2. JSONとXMLを扱う
  3. 例外処理を理解する
  4. データベースを扱う
  5. LINQでデータをクエリする
← C# Academyに戻る