【C#】Newtonsoft Jsonを利用して型変換する

C#

Newtonsoft.Jsonとは

テキスト→Json、Json→テキストに変換(シリアライズ・デシリアライズ)ができるC#ライブラリになります。
標準で搭載されているSystem.Text.Jsonとは違います。
System.Text.Jsonは.NET Core 3以降で利用可能ですので、もう少ししたら全て移行されるんだろうなと思います。可能であればできるだけ標準ライブラリを使うべきですが、扱いなれているNewtonsoftもなかなか捨てきれないでいます。

入手方法

名称バージョン
入手場所Nuget
ライセンスMIT license

実装例

テキストをJsonに変換しコンソール出力します。
下記でJsonパスの確認ができます。

事前作業

Nugetからダウンロードしてプロジェクトにインポートする。

環境

名称バージョン
フレームワークWPF
.NetFrameworkv4.7.2
newtonsoft.jsonv13.0.1

実装コード


using System;
using Newtonsoft.Json;

namespace WpfApp
{
	public partial class MainWindow : System.Windows.Window
	{
		public MainWindow()
		{
			try{
				string data = @"{\"Name\": \"aaa\", \"Data1\" : \"bbb\", \"Arr\" : {\"Arr1\": \"ccc\"}}"
				dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
				Console.WriteLine(jsonObject.data["Name"]);
			}
			catch (System.Exception ex)
			{
				Console.WriteLine("Exception Name: " + ex.GetType().Name);
				Console.WriteLine("Exception Message: " + ex.Message);
				Console.WriteLine("Exception Trace: " + ex.StackTrace);
			}
		}
	}
}

最後に

JSONのシリアライズ・デシリアライズの話をしました。
CoreやStandardに移行すれば標準機能があるので不要ですが、Frameworkで実装する場合はあると便利です。容量が小さくて作りやすいのでこれからもFrameworkで作成していきます。

参考サイト