Tại sao sự trở lại đoạn mã sau "[]" khi nó trở nên "{" id ": Năm 1999, "title":" hithere "}tại sao C# JavaScriptSerializer.Serialize trở dấu ngoặc vuông trống
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 lớp dg trông như thế này:..
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);
}
Rất cám ơn
tHANKS - TRẢ LỜI THÀNH CÔNG - đó là IEnumerable đó là nguồn gốc của tai ương của tôi Để giải quyết nó, dg không còn kéo dài IEnumerable và tất cả foreach (dg ...) các vòng lặp đã được chuyển đổi thành vòng lặp (int i = 0 ...).
THANKS VERY, VERY MUCH! JAMES có lý do tại sao trống rỗng của nó, Parv có lý do tại sao có dấu ngoặc vuông. Đánh dấu cả hai là câu trả lời nhưng chỉ có thể đánh dấu một câu trả lời.
'dg' =' [serializable] '? –
hiện dg có một constructor phù hợp với tình trạng quá tải trong ví dụ của bạn và không quá tải đúng cách gán giá trị cho các thuộc tính tương ứng? – Dimitri
@Brad - Tôi nhận được kết quả tương tự có hoặc không có thẻ [Serializable] trên dg – user2282496