2017-05-04 36 views
1

我有這個工作之前,現在它始終未能將我的IList轉換爲AsP核心Web應用程序中的JSON。我試過NewtonJson Lib,原生Json()和Ok()都沒有作用......現在。我現在將返回的json始終顯示爲[{},{},{},{},{}]。IList到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; } 
} 

任何想法,我缺少的是一個小時...

回答

3

你的屬性是私有的,而不是公衆。

public string e1 { get; set; } 
4

你的問題不說什麼是不工作的,但我會冒險一guess--所有類構件標private,因此他們不會得到默認序列化。如果你想讓它們被序列化,可以將它們公開或用[JsonProperty]標記它們。

+0

啊!我改變了我最近的迭代,爲什麼:-)謝謝 – anotheruser