はじめに
前回はWebアプリケーションの起動まで確認をしたので、今回はライブラリ管理の NuGet
を使ってみる。
環境
Windows 11 Professional
ASP.NET Core 8.0
NuGetとは
NuGet
は、.NETプラットフォーム向けのパッケージ管理システムである。
オープンソースのライブラリやツールを簡単に導入でき、開発を効率化するために使用される。NuGet
では「パッケージ」と呼ばれる形式でライブラリが提供され、パッケージはバージョン管理や依存関係の解決もサポートしている。
開発者は、Visual Studio
やコマンドラインツールを使用して、NuGetギャラリー
からパッケージを検索・インストールできる。
また、独自のパッケージを作成して公開することも可能だ。NuGet
は、.NET
プロジェクトの管理を簡便化し、サードパーティのライブラリを利用したり、プロジェクトの再利用性を高めたりする際に重要な役割を果たしている。
NuGetでライブラリを入れる
1. プロジェクトを右クリック、「NuGetパッケージの管理」を選択する
2. 「JSON.NET」をインストールする
今回は、JSONを扱うJSON.NET
ライブラリをインストールする。
3. インストール完了後、依存関係に 「JSON.NET」が入っていることを確認
JSON.NETを使ってC#でJSONを扱う
コントローラの作成
Controllers
配下に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
となる。
@{
ViewData["Title"] = "Home Page";
}
<h2>JSONのパース結果</h2>
<p>@ViewData["ParsedJson"]</p>
<h2>C#オブジェクトをJSONにシリアライズ</h2>
<pre>@ViewData["SerializedObject"]</pre>
動作確認
「デバッグ」→「デバッグの開始」で起動する。
リンクを作っていないので、URLに直打ちで下記を入力する。
https://localhost:7006/JsonView
期待した結果になっているのでOK!
参考
NuGetの概要
https://learn.microsoft.com/ja-jp/nuget/what-is-nugetNuGet パッケージ マネージャーを使用して Visual Studio にパッケージをインストールして管理する
https://learn.microsoft.com/ja-jp/nuget/consume-packages/install-use-packages-visual-studioCreate .NET apps faster with NuGet
https://www.nuget.org/Json.NET
https://www.newtonsoft.com/jsonASP.NET Core MVC の概要
https://learn.microsoft.com/ja-jp/aspnet/core/mvc/overview?view=aspnetcore-8.0
おわりに
NuGet
でライブラリをインストールして、それを使うということを実践した。
次回は、Dapper
を使ってPostgreSQL
を操作するということをやってみたい。