1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C#入門 第10章】JSONとXMLの読み書き入門|データ構造と仲良くなる方法!

Posted at

【C#入門 第10章】JSONとXMLの読み書き入門|データ構造と仲良くなる方法!

こんにちは、 CSharpTimes の一之瀬シィよ💠
今回はC#でよく使われる JSONXML というデータ形式との付き合い方を教えてあげるわ。
これができれば、API連携や設定ファイル操作も怖くないっ!


📦 JSONとは?

  • JavaScript由来の 軽量なデータ形式
  • ネットワーク通信や設定ファイルなどでよく使われる
{
  "Name": "シィ",
  "Age": 20
}

🛠 JSONを扱う方法(System.Text.Json

🔽 ① クラスを定義して…

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

🔽 ② オブジェクト → JSON に変換(シリアライズ)

using System.Text.Json;

Person p = new Person { Name = "シィ", Age = 20 };
string json = JsonSerializer.Serialize(p);
Console.WriteLine(json);
// {"Name":"シィ","Age":20}

🔽 ③ JSON → オブジェクトに変換(デシリアライズ)

string input = "{\"Name\":\"読者さん\",\"Age\":25}";
Person p2 = JsonSerializer.Deserialize<Person>(input);
Console.WriteLine(p2.Name + "さんは" + p2.Age + "歳!");

📄 XMLとは?

  • ExcelやWordの中身にも使われてる 構造化データ
  • .configなどの設定ファイルでもよく見かける
<Person>
  <Name>シィ</Name>
  <Age>20</Age>
</Person>

🛠 XMLを扱う方法(System.Xml.Serialization

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

// 同じクラス Person を使う
Person p = new Person { Name = "シィ", Age = 20 };

XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StreamWriter writer = new StreamWriter("person.xml"))
{
    serializer.Serialize(writer, p);
}

読み込みはこう👇

using (StreamReader reader = new StreamReader("person.xml"))
{
    Person loaded = (Person)serializer.Deserialize(reader);
    Console.WriteLine("こんにちは、" + loaded.Name + "さん!");
}

📌 まとめ

  • JSONはWeb連携や軽量データ向け、XMLは設定ファイル向けによく使われる
  • JsonSerializer でJSON、XmlSerializer でXMLを簡単に読み書きできる
  • データ構造と仲良くなれば、プロっぽさも急上昇よ✨

次回は、 「第11章:APIとの通信」 よ。
インターネット越しにデータをやりとりする、リアルな“C#アプリ”への第一歩よ。ついてきなさい💢

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?