列表到 JSON with JsonSerializer.Serializer returns null
List to JSON with JsonSerializer.Serializer returns null
我有一个名为 clsTest
的 class 定义为:
public class clsTest
{
public string Name;
public string Family;
public int Age;
}
我有另一个名为 clsMain
的 class,它正在将 clsTest
class 的三个实例序列化为 JSON 为:
public class clsMain
{
public string mtdMain()
{
clsTest ct1_a = new clsTest();
clsTest ct1_b = new clsTest();
clsTest ct1_c = new clsTest();
ct1_a.Name = "Satoshi";
ct1_a.Family = "Nakamato";
ct1_b.Name = "Charles";
ct1_b.Family = "Hoskinson";
ct1_b.Age = 33;
ct1_c.Name = "AmirAli";
ct1_c.Family = "Sam";
ct1_c.Age = 25;
List<clsTest> lst = new List<clsTest>();
lst.Add(ct1_a);
lst.Add(ct1_b);
lst.Add(ct1_c);
JsonSerializerOptions option = new JsonSerializerOptions();
option.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
option.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
return JsonSerializer.Serialize(lst, option);
}
}
当我调试项目时,我的列表已满,如屏幕截图所示:
但最后return JsonSerializer.Serialize(lst, option);
序列化如下:
我找不到问题,任何建议将不胜感激。
谢谢。
使用属性而不是字段,如下所示:
public class Test
{
public string Name { get; set; }
public string Family { get; set; }
public int Age { get; set; }
}
我有一个名为 clsTest
的 class 定义为:
public class clsTest
{
public string Name;
public string Family;
public int Age;
}
我有另一个名为 clsMain
的 class,它正在将 clsTest
class 的三个实例序列化为 JSON 为:
public class clsMain
{
public string mtdMain()
{
clsTest ct1_a = new clsTest();
clsTest ct1_b = new clsTest();
clsTest ct1_c = new clsTest();
ct1_a.Name = "Satoshi";
ct1_a.Family = "Nakamato";
ct1_b.Name = "Charles";
ct1_b.Family = "Hoskinson";
ct1_b.Age = 33;
ct1_c.Name = "AmirAli";
ct1_c.Family = "Sam";
ct1_c.Age = 25;
List<clsTest> lst = new List<clsTest>();
lst.Add(ct1_a);
lst.Add(ct1_b);
lst.Add(ct1_c);
JsonSerializerOptions option = new JsonSerializerOptions();
option.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
option.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
return JsonSerializer.Serialize(lst, option);
}
}
当我调试项目时,我的列表已满,如屏幕截图所示:
但最后return JsonSerializer.Serialize(lst, option);
序列化如下:
我找不到问题,任何建议将不胜感激。 谢谢。
使用属性而不是字段,如下所示:
public class Test
{
public string Name { get; set; }
public string Family { get; set; }
public int Age { get; set; }
}