同一個標題有類似的問題,但該解決方案對我的問題無效。JSON上的JavaScriptSerializer包含一個數組
我試圖序列以下JSON:
{"Id":1,
"Questions":
[{"Id":"q-1-Q0001","Text":"Volume Too High"},
{"Id":"q-1-Q0002","Text":"Volume Too Low"}],
"Text":"My text."}
採用這種結構在我的C#:
public class Issue
{
public Issue() { Questions = new List<Question>(); }
public string Id { get; set; }
public List<Question> Questions { get; set; }
public string Text { get; set; }
}
public class Question
{
public string Id { get; set; }
public string Text { get; set; }
}
我的JavaScript發送POST與JSON上面這個C#函數:
public JsonResult AddIssueToQueue(Issue issue)
{
var id = issue.Id; // Set correctly
var text = issue.Text; // Set correctly
var q = issue.Questions; // NOT set correctly. Set to List of two empty Question items.
}
id和text設置正確,但q設置爲List,其中包含兩個空Qu estion對象(Id和Text每個都爲null)。
我的JSON格式不正確嗎?爲什麼不能正確傳播Questions數組?
'issue.Id'和'issue.Text'設置是否正確? –
是的。 id和文本(issue.Id和issue.Text)保持正確的值。 – Paul
我懷疑這是事實,但是當我使用JavaScriptSerializer序列化Issue類時,它將問題ID置於1附近,即「{」Id「:」1「,'。但是,我可以使用或不使用引號進行反序列化。 – rsbarro