爲什麼下面的代碼返回 「[]」 時,它應該返回 「{」 ID 「:1999年, 」稱號「:」 hithere「}爲什麼C#JavaScriptSerializer.Serialize返回空方括號
JavaScriptSerializer serializer = new JavaScriptSerializer();
StringBuilder sbJsonResults = new StringBuilder();
var result = serializer.Serialize(new dg(1999, "hithere"));
context.Response.Clear();
context.Response.ContentType = "application/json; charset=utf-8";
context.Response.Cache.SetExpires(DateTime.MinValue);
context.Response.Write(result);
PS的DG類看起來是這樣的:。
public class dg : ScheduleObserver, ILibrary, IEnumerable {
public int id;
public string title;
private List<d> dList;
...many getters and setters and some logic functions...
}
public abstract class ScheduleObserver{
public abstract void update();
}
public interface ILibrary {
List<PD> getPDs();
void setPDs(List<PD> newPDs);
int getCurrentIndex();
void addPD(PD pD);
PD getPD(int index);
}
非常感謝
謝謝 - 成功回答了 - 這是IEnumerable的,這是我的困境的源頭上解決它,DG不再擴展IEnumerable和所有foreach(dg ...)循環已被轉換回for(int i = 0 ...)循環。
非常感謝,非常感謝!詹姆斯得到了爲什麼它是空的,帕夫得到了爲什麼有方括號。將兩者都標記爲答案,但只能標記一個。
'dg' ='[serializable]'? –
是否有一個構造函數與您的示例中的重載匹配,並確保該重載能夠正確地將值分配給相應的屬性? – Dimitri
@Brad - 我得到了相同的結果,帶有或不帶[Serializable]標籤dg – user2282496