NewtonSoftJsonのデシリアライザーでpublic以外のクラスを使用したい

実現したいこと

NewtonSoftのデシリアライザーを使用し、jsonファイルの値を、クラスに入れたいのですが、そのクラスのアクセシビリティがprivateの時でも値が入るようにしたいです
もしくはそもそもデシリアライザー自体がpublicだから同じアクセス修飾子でないとできなのかが知りたいです

発生している問題・エラーメッセージ

起動はできるのですが、jsonファイルにある値がクラスに入りません

該当のソースコード

public class test
{

private class A
{
private int id{get;set;}
}
private class Root
{
private A A{get;set;} = new A();
}

Root _root = new Root();

private void DoWork()
{
using (StreamReader sr = new StreamReader("jsonファイルのパス"))
{
_root = JsonConvert.DeserializeObject<Root>(sr.ReadToEnd())!;
}
}

試したこと

protectedやinternal などのほかのアクセシビリティでも試したのですが
値が入りませんでした

補足情報(FW/ツールのバージョンなど)

windowsforms
.Net5
C#
NewtonSoftJson Version 13.0.3

コメントを投稿

0 コメント