之前我有这个工作,现在它始终无法将我的IList转换为AsP Core Web应用程序中的JSON。我试过NewtonJson Lib,原生Json()和Ok()都没有用......现在。我现在看到返回的json始终为[{},{},{},{},{}]。
我已经在我的aspcore网络应用上试过了这些。
result = Content(JsonConvert.SerializeObject(status), "application/json");
result = Json(status);
result = Ok(status);
为简单起见,下面的示例控制台应用程序:
IList<Sate> c = new List<Sate>();
c.Add(new Sate("El1", "El1", "El1", "Result1"));
c.Add(new Sate("El2", "El2", "El2", "Result2"));
c.Add(new Sate("El3", "El3", "El3", "Result3"));
c.Add(new Sate("El4", "El4", "El4", "Result4"));
c.Add(new Sate("El5", "El5", "El5", "Result5"));
string converted = JsonConvert.SerializeObject(c);
Console.WriteLine(converted);
public class Sate
{
public Sate(string El, string E2, string E3, string E4)
{
e1 = El;
e2 = E2;
e3 = E3;
e4 = E4;
}
private string e1 { get; set; }
private string e2 { get; set; }
private string e3 { get; set; }
private string e4 { get; set; }
}
任何想法,我错过了一个小时......
答案 0 :(得分:4)
你的问题并没有说明什么不起作用,但我冒昧猜测 - 你的所有班级成员都被标记为private
,因此默认情况下他们不会被序列化。如果您希望序列化它们,请将它们公开或用[JsonProperty]
标记它们。
答案 1 :(得分:3)
您的属性是私有的,而不是公开的。
{{1}}