Newtonsoft.Jsonとは
テキスト→Json、Json→テキストに変換(シリアライズ・デシリアライズ)ができるC#ライブラリになります。
標準で搭載されているSystem.Text.Jsonとは違います。
System.Text.Jsonは.NET Core 3以降で利用可能ですので、もう少ししたら全て移行されるんだろうなと思います。可能であればできるだけ標準ライブラリを使うべきですが、扱いなれているNewtonsoftもなかなか捨てきれないでいます。
入手方法
名称 | バージョン |
---|---|
入手場所 | Nuget |
ライセンス | MIT license |
実装例
テキストをJsonに変換しコンソール出力します。
下記でJsonパスの確認ができます。
事前作業
Nugetからダウンロードしてプロジェクトにインポートする。
環境
名称 | バージョン |
---|---|
フレームワーク | WPF |
.NetFramework | v4.7.2 |
newtonsoft.json | v13.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で作成していきます。