C# JSONとオブジェクトを変換する

C#のJSONとオブジェクトを変換するサンプルです。

目次 JSONからオブジェクトに変換する
オブジェクトからJSONに変換する

JSONからオブジェクトに変換する

public static T DeserializeObject<T>(string value);
  • DeserializeObjectメソッドは、JSONをオブジェクトに変換します。
  • デシリアライズとも呼ばれます。
  • Newtonsoft.Jsonの参照の設定が必要です。
    →参照の追加>アセンブリ>Json.NET .NET 4.0
    →無い場合は、NuGet パッケージの管理からNewtonsoft.Jsonを取得
  • ASP.NETではNewtonsoft.Jsonはデフォルトで設定されています。

JSONをオブジェクトにする

JSONをオブジェクトにするサンプルです。

1.JSONデータ

{
    "id": 1,
    "name": "鈴木",
    "sikaku": [
        "基本",
        "応用"
    ]
}

2.JSONを変換する

using System;
using Newtonsoft.Json;

class Syain
{
	public string id { get; set; }
	public string name { get; set; }
	public string[] sikaku { get; set; }
}
class Test1
{
	static void Main()
	{
		var Json1 = @"{""id"":  1,""name"":""鈴木"",""sikaku"":[""基本"",""応用""]}";

		// クラスにマッピングする
		Syain syain1 = JsonConvert.DeserializeObject<Syain>(Json1); 
		Console.WriteLine(syain1.id); // 1
		Console.WriteLine(syain1.name); // 鈴木
		Console.WriteLine(syain1.sikaku[0]); //基本
		Console.WriteLine(syain1.sikaku[1]); //応用
	}
}

2行目は、Newtonsoft.Jsonをインポートしています。

17行目は、DeserializeObjectメソッドで4~9行目のクラスにマッピングしJSONをオブジェクトにしています。

オブジェクトからJSONに変換する

public static string SerializeObject(object value);
  • SerializeObjectメソッドは、オブジェクトをJSONに変換します。
  • 戻り値は「String型」です。
  • シリアライズとも呼ばれます。
  • Newtonsoft.Jsonの参照の設定が必要です。
    →参照の追加>アセンブリ>Json.NET .NET 4.0
    →無い場合は、NuGet パッケージの管理からNewtonsoft.Jsonを取得
  • ASP.NETではNewtonsoft.Jsonはデフォルトで設定されています。
  • 以下は、newtonsoftのリンクです。
    https://www.newtonsoft.com/json

オブジェクトをJSONにする

オブジェクトをJSONにするサンプルです。

using System;
using Newtonsoft.Json;

class Syain
{
	public string id { get; set; }
	public string name { get; set; }
	public string[] sikaku { get; set; }
}
class Test1
{
	static void Main()
	{
		Syain syain1 = new Syain();
		syain1.id = "1";
		syain1.name = "鈴木";
		syain1.sikaku = new[] { "基本", "応用"};

		string json1 = JsonConvert.SerializeObject(syain1);
		Console.WriteLine(json1); //JSONを出力
	}
}

2行目は、Newtonsoft.Jsonをインポートしています。
4~9行目はクラスです。
14行目でオブジェクト(インスタンス)を生成し15~17行目で値を設定しています。
19行目は、SerializeObjectメソッドでオブジェクトをJSONにしています

結果は以下のようにJSONを取得できます。

{
    "id": 1,
    "name": "鈴木",
    "sikaku": [
        "基本",
        "応用"
    ]
}

関連の記事

JSONのデータ型とは+JSON整形ツール

△上に戻る