class JSON
{
internal List<string> Word { get; set; }
internal string Test { get; set; }
internal string Test2 { get; set; }
internal int[] Test3 { get; set; }
}
class Program
{
static void Main()
{
JSON testString = new JSON()
{
Word = new List<string>
{
"Apple",
"Banana",
"Pine",
},
Test = "Hello",
Test2 = "HEllo222",
Test3 = new int[]
{
1,
2,
3,
},
};
//シリアライズ
string jsonString = JsonSerializer.Serialize(testString, new JsonSerializerOptions { WriteIndented = true});
//JSON文字列をテキストファイルに保存
File.WriteAllText(@"C:\Users\user\test.txt", jsonString);
}
上の図のようにデータクラス(JSON.cs)を用意して、Program.csでJSON文字列にしていこう思ったのですが、上手くいきませんでした。
原因はデータクラス(JSON.cs)のプロパティのアクセス修飾子がinternalだったからです。
下の図のようにデータクラス(JSON.cs)のアクセス修飾子をpublicにすれば上手くいきます。
class JSON
{
public List<string> Word { get; set; }
public string Test { get; set; }
public string Test2 { get; set; }
public int[] Test3 { get; set; }
}
しかし何故internalではいけないのか分かりませんでした。
分かり次第、追記します。(2020/6/5更新)