JSON

【NewtonSoft Json.NET】C#で使える 高速・簡単な超人気 JSON ライブラリ

C#で使える高速で簡単なJSONのライブラリを紹介します。MITライセンスで商用でも無料で使うことができる、超人気のライブラリです。

Newtonsoft Json.NET

オープンソースのため、Githubでコードも公開されています。
Nugetでのダウンロード数が8.7億回とすごいことになってます。

HPhttps://www.newtonsoft.com/json
GitHubhttps://github.com/JamesNK/Newtonsoft.Json
ライセンスMIT (商用フリー)
GitHub Star8.4k
NugetDL数878M
バージョン12.0.3 (安定Ver.)

Json.NETの特徴

高速

公式HPで、C#組込みと比較して以下のように紹介されています。

  • 「DataContractJsonSerializer」より50%高速
  • 「JavaScriptSerializer」    より250%高速

シンプルで簡単

使い方もとてもシンプルです。

独自のJArray・JObjectを使えば、データ用のクラスを作らなくてもJSON形式のデータを生成することが出来ます。
そのほか、XMLからJSONへのコンバートにも対応しています。

サンプルソース

公式サイトのサンプルコードを、コンソールプログラムで使う方法を紹介します。(usingの指定が必要なので、注意してください)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// JArrayを使うために必要です
using Newtonsoft.Json.Linq;

namespace JsonDotNetJArrayTest
{
    class Program
    {
        static void Main(string[] args)
        {
            JArray array = new JArray();
            array.Add("Manual text");
            array.Add(new DateTime(2000, 5, 23));

            JObject o = new JObject();

            o["MyArray"] = array;

            string json = o.ToString();

            Console.Write(json);

        }
    }
}

実行結果

上記コードの実行結果です。クラスを作らなくてもJSON形式のデータが表示できました。

まとめ

C#で超人気の「Newtonsoft Json.NET」について紹介しました。
JSON形式のデータを扱いたい方の参考になればうれしいです。

もう少し詳しく知りたい!というかた向けに、シリアライズ・デシリアライズの方法などを、もう少し詳しく解説した記事も作成しています。興味のある方は以下の記事も合わせてご覧ください。


応援・要望お待ちしてます

ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。

ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です