我以前曾进行过这项工作,现在一直无法在AsP Core Web应用程序中将IList转换为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; }
}


不知道我错过了一个小时了吗...

最佳答案

您的问题不是说什么是行不通的,但我会冒险猜测-您所有的类成员都标记为private,因此默认情况下不会对它们进行序列化。如果要序列化它们,请将它们公开或用[JsonProperty]标记。

关于c# - 从IList到JSON失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43773969/

10-13 06:57