ASP.NET Core WebアプリでNuGetパッケージを使う

はじめに

前回はWebアプリケーションの起動まで確認をしたので、今回はライブラリ管理の NuGetを使ってみる。

環境

Windows 11 Professional
ASP.NET Core 8.0

NuGetとは

NuGetは、.NETプラットフォーム向けのパッケージ管理システムである。
オープンソースのライブラリやツールを簡単に導入でき、開発を効率化するために使用される。
NuGetでは「パッケージ」と呼ばれる形式でライブラリが提供され、パッケージはバージョン管理や依存関係の解決もサポートしている。

開発者は、Visual Studioやコマンドラインツールを使用して、NuGetギャラリーからパッケージを検索・インストールできる。
また、独自のパッケージを作成して公開することも可能だ。NuGetは、.NETプロジェクトの管理を簡便化し、サードパーティのライブラリを利用したり、プロジェクトの再利用性を高めたりする際に重要な役割を果たしている。

NuGetでライブラリを入れる

1. プロジェクトを右クリック、「NuGetパッケージの管理」を選択する

nuget-01

2. 「JSON.NET」をインストールする

今回は、JSONを扱うJSON.NETライブラリをインストールする。

nuget-02 nuget-03 nuget-04

3. インストール完了後、依存関係に 「JSON.NET」が入っていることを確認

nuget-04

JSON.NETを使ってC#でJSONを扱う

コントローラの作成

Controllers配下にJsonViewController.csを作成する。

JsonViewController.cs
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;

namespace WebApplication2.Controllers
{
    public class JsonViewController : Controller
    {
        // JSONをパースするためのサンプルクラス
        public class Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public string Email { get; set; }
        }

        public IActionResult Index()
        {
            // サンプルJSON文字列
            string jsonString = "{\"Name\":\"山田太郎\",\"Age\":25,\"Email\":\"taro@example.com\"}";

            // JSONをC#オブジェクトにパース(デシリアライズ)
            Person person = JsonConvert.DeserializeObject<Person>(jsonString);
            ViewData["ParsedJson"] = $"名前: {person.Name}, 年齢: {person.Age}, メール: {person.Email}";

            // C#オブジェクトをJSON文字列に変換(シリアライズ)
            var newPerson = new Person { Name = "鈴木花子", Age = 28, Email = "hanako@example.com" };
            string serializedObject = JsonConvert.SerializeObject(newPerson, Formatting.Indented);
            ViewData["SerializedObject"] = serializedObject;

            return View();
        }
    }
}

ビューを作成する

Views配下に、JsonViewディレクトリを作成し、Index.cshtmlを作成する。

Views/JsonView/Index.cshtmlとなる。

Index.cshtml
@{
    ViewData["Title"] = "Home Page";
}

<h2>JSONのパース結果</h2>
<p>@ViewData["ParsedJson"]</p>

<h2>C#オブジェクトをJSONにシリアライズ</h2>
<pre>@ViewData["SerializedObject"]</pre>

動作確認

「デバッグ」→「デバッグの開始」で起動する。

リンクを作っていないので、URLに直打ちで下記を入力する。
https://localhost:7006/JsonView

jsonview-01

期待した結果になっているのでOK!

参考

おわりに

NuGetでライブラリをインストールして、それを使うということを実践した。
次回は、Dapperを使ってPostgreSQLを操作するということをやってみたい。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。