コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 2021.2 で System.Text.Json を使えるようにする方法

概要

上記のサイトをそれぞれ開いて

f:id:baba_s:20220115124945p:plain

それぞれのページの「Download package」を押して 4 つの .nupkg を入手します

そして、これらのファイルを .zip として展開して

f:id:baba_s:20220115125152p:plain

それぞれのフォルダの「lib」フォルダ内の

f:id:baba_s:20220115125154p:plain

.dll ファイルを

f:id:baba_s:20220115125247p:plain

Unity プロジェクトに追加します

using System.Text.Encodings.Web;
using System.Text.Json;
using UnityEngine;

public sealed class Character
{
    public int    Id   { get; set; }
    public string Name { get; set; }
}

public class Example : MonoBehaviour
{
    private void Start()
    {
        var characters = new Character[]
        {
            new() { Id = 1, Name = "フシギダネ" },
            new() { Id = 2, Name = "フシギソウ" },
            new() { Id = 3, Name = "フシギバナ" },
        };

        var options = new JsonSerializerOptions
        {
            Encoder       = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
            WriteIndented = true,
        };

        var json = JsonSerializer.Serialize( characters, options );

        Debug.Log( json );
    }
}

これで上記のようなコードを記述すると

f:id:baba_s:20220115125637p:plain

System.Text.Json を使用できます

検証環境

  • Windows 10
  • Unity 2021.2.7f1
  • Windows IL2CPP ビルド