C# PR

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

記事内に商品プロモーションを含む場合があります

C#で無料で使える、高速・簡単なJSONのライブラリ「NewtonSoft Json.NET」を紹介します。Json.NETは、MITライセンスで商用も無料。世界中で大人気のJSONライブラリです。

Newtonsoft Json.NETとは

簡単に言うと、C#で使えるJSONのライブラリです。

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

HPhttps://www.newtonsoft.com/json
GitHubhttps://github.com/JamesNK/Newtonsoft.Json
ライセンスMIT (商用フリー)
GitHub Star10.5k
NugetDL数4.3B
バージョン13.0.3 (安定Ver.)

※ DL数などは、2024年4月現在の数字です。

Json.NETの特徴

Json.NETの特徴として、以下の3点があげられます。ひとつずつ解説していきます。

  1. 高速
  2. 使いやすい
  3. 世界中で大人気

① 高速

C#組み込みのJSONライブラリと比較して、超高速に動作します。公式HPでは以下のように紹介されています。

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

② 使いやすい

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

JSONのシリアライズ・デシリアライズ、LINQからのJSONへの変換、XMLからJSONへのコンバートにも対応しています。

③ 世界中で大人気

世界中で大人気のライブラリです。

Nugetのダウンロードランキングでは不動の1位。ダウンロード数も43億回とダントツの回数を誇り、世界中で大人気のライブラリとなっています。

上記のようにユーザーが多いので、ネットに情報が豊富に存在。公式ドキュメントも充実しているので使い方に悩むことがありません。

サンプルソース

公式サイトのサンプルコードを、コンソールプログラムで使う方法を紹介します。(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形式のデータを扱いたい方の参考になればうれしいです。

お知らせ

今月号の『Software Design』はドメイン駆動設計(DDD)。実例を交えたDDDの手法の解説が特集されています。

編集:Software Design 編集部
¥1,562 (2024/03/13 12:59時点 | Amazon調べ)

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

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

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

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

JSONファイルの作成方法


質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

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

COMMENT

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