JSON

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

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

Newtonsoft Json.NET

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

HPhttps://www.newtonsoft.com/json
GitHubhttps://github.com/JamesNK/Newtonsoft.Json
ライセンスMIT (商用フリー)
GitHub Star9.2k
NugetDL数1.8B
バージョン13.0.1 (安定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形式のデータを扱いたい方の参考になればうれしいです。

Lenovo Web広告限定ストア

エキスパートがよく使う「ThinkPad」や、コスパ抜群の「IdeaPad」がお得に購入できます。そろそろ、Macに負けない機能的なデザイン、フルカスタマイズしたPCが欲しい!とい方は以下のリンクからお得に購入してください。特別割引価格やクーポン情報がGETできます。

Lenovo

C#がよく分からないんだけど…という方へ

「プログラミングを初めてみたい」「専門書を読んだけど分からなかった」という方に以下の書籍をオススメします。

「知識ゼロから始める人」「一度挫折した経験がある人」向けに書かれた「とても分かりやすい」というレビューが多い一冊です。

超初心者~中級の内容を「利用頻度の高いものに絞って」解説していて、時間のない人でも効率的に学習することができます。

高額なことが多い専門書の中でもコスパのいい本なので、ぜひこの本で「C#のライブラリをスラスラ使いこなせる自分」を目指してみてください。

もっと詳しくJson.NETを知る

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

JSONファイルの読み込み・デシリアライズの方法

JSon.NETのインストール方法

JSONファイルの作成方法


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

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

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

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

COMMENT

メールアドレスが公開されることはありません。