C# .NET 6.0 Dictionary to JSON macOS

.NET 6

macOS Monterey.NET 6.0 SDKの環境で 「dotnet new console」すると Program.csが下記のようになっていました。

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

https://aka.ms/new-console-template

.NET 6 以降、console テンプレートを使用した新しいプロジェクトからは、以前のバージョンとは異なるコードが生成されるらしいです

実行されるバージョンを確認したかったのでProgram.csを下記に書き換えて実行しました

string ver = Environment.Version.ToString();
Console.WriteLine(".NET バージョン = {0}", ver);
Environment.Version.ToString() 実行結果

.NET実行バージョンは6.0.1になっていました。

List<Dictionary<string,string>>この構造からJSON変換する下記コード例です。

using System.Text.Json;
var _list = new List<Dictionary<string,string>>()
{
    new() {{"george_orwell","動物農園"}},
    new() {{"ray_douglas_bradbury","華氏451度"}}
};

var json_out = JsonSerializer.Serialize(_list);
Console.WriteLine(json_out);
List<Dictionary<string,string>>からJSON変換結果

JSON文字列に変換されました