Asp.net
Newtonsoft.Json 序列化返回空的 json 對象
我有以下類的對象列表:
public class Catagory { int catagoryId; string catagoryNameHindi; string catagoryNameEnglish; List<Object> subCatagories; public Catagory(int Id, string NameHindi, string NameEng,List<Object> l) { this.catagoryId = Id; this.catagoryNameHindi = NameHindi; this.catagoryNameEnglish = NameEng; this.subCatagories = l; } } public class SubCatagory { int subCatagoryId { get; set; } string subCatNameHindi { get; set; } string subCatNameEng { get; set; } public SubCatagory(int Id, string NameHindi, string NameEng) { this.subCatagoryId = Id; this.subCatNameEng = NameEng; this.subCatNameHindi = NameHindi; } }當我使用 Newtonsoft.Json 將此列表轉換為 json 字元串時,它返回空對像數組。
string json=JsonConvert.SerializeObject(list);我得到以下結果。
[{},{},{},{},{}]
請幫我解決這個問題。
預設情況下,NewtonSoft.Json 只會序列化公共成員,因此請公開您的欄位:
public class Catagory { public int catagoryId; public string catagoryNameHindi; public string catagoryNameEnglish; public List<Object> subCatagories; public Catagory(int Id, string NameHindi, string NameEng, List<Object> l) { this.catagoryId = Id; this.catagoryNameHindi = NameHindi; this.catagoryNameEnglish = NameEng; this.subCatagories = l; } }**編輯:**如果由於某種原因你真的不想公開你的欄位,你可以用JsonPropertyAttribute裝飾它們以允許它們被序列化和反序列化:
[JsonProperty] int catagoryId;