0
我正在使用WebAPI。我的配置是這樣的
var json = config.Formatters.JsonFormatter;
json.MaxDepth = 1;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
config.Formatters.Remove(config.Formatters.XmlFormatter);
顯示只有第一個項目,其餘實例顯示爲DegreeYear:{$ REF:3} 我婉全部顯示出來,有什麼設置/配置將讓我顯示。我是 只對第一級感興趣,如果學位年有其他孩子的對象,我不希望他們。
Items: [{$id:2, OrgSchlDgExmSchdlID_PK:20, OrgSchlDgID_FK:3, DegreeYearID_FK:5, ExamName:1ST Term,…},…]
0: {$id:2, OrgSchlDgExmSchdlID_PK:20, OrgSchlDgID_FK:3, DegreeYearID_FK:5, ExamName:1ST Term,…}
$id: "2"
DegreeYear: {$id:3, DegreeYearID_PK:5, DegreeID_FK:7, Code:1YR, YearNumber:1, Description:1 YR, RowStatusID_FK:1,…}
DegreeYearID_FK: 5
Description: "XXXXXXXXXXXXXXXXXX"
ExamMonth: "April"
ExamName: "1ST Term"
OrgSchlDgExmSchdlID_PK: 20
OrgSchlDgID_FK: 3
RowStatu: null
RowStatusID_FK: 1
1: {$id:4, OrgSchlDgExmSchdlID_PK:22, OrgSchlDgID_FK:3, DegreeYearID_FK:5, ExamName:2ND Term,…}
$id: "4"
DegreeYear: {$ref:3}
DegreeYearID_FK: 5
Description: "YYYYYYYYYYYYYYYYYYYYYYYYY"
ExamMonth: "July"
ExamName: "2ND Term"
OrgSchlDgExmSchdlID_PK: 22
OrgSchlDgID_FK: 3
RowStatu: null
RowStatusID_FK: 1
2: {$id:5, OrgSchlDgExmSchdlID_PK:23, OrgSchlDgID_FK:3, DegreeYearID_FK:5, ExamName:Final, ExamMonth:NOV,…}
$id: "5"
DegreeYear: {$ref:3}
DegreeYearID_FK: 5
Description: "ZZZZZZZZZZZZZZZZZZZZZZ"
ExamMonth: "NOV"
ExamName: "Final"
OrgSchlDgExmSchdlID_PK: 23
OrgSchlDgID_FK: 3
RowStatu: null
RowStatusID_FK: 1
您是否嘗試過'PreserveReferencesHandling.None'? –
試過,該設置崩潰了IIS,在System.Web.dll中發生了類型爲「System.StackOverflowException」的未處理的異常 –
您是否嘗試過'PreserveReferencesHandling.None'與'ReferenceLoopHandling.Ignore'結合使用? –