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": [
"基本",
"応用"
]
}
関連の記事