【发布时间】:2018-02-16 14:57:48
【问题描述】:
我正在构建一些小型预订应用程序,但我一直收到此错误。
我解决了这个问题: config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
但现在我得到这样的答案:
{
"ApartmentId": 1,
"Building": {
"BuildingId": 1,
"Apartments": [
{
"ApartmentId": 2,
}
]
},
}
对于课程建设,一切正常。公寓只会“走得很远”。我尝试了该主题的解决方案,但没有成功:https://stackoverflow.com/questions/7397207/json-net-error-self-referencing-loop-detected-for-type#=
这是我的课程:
public class Apartment
{
public int ApartmentId { get; set; }
public Building Building { get; set; }
}
public class Building
{
public int BuildingId { get; set; }
public List<Apartment> Apartments { get; set; }
}
问题是,我错过了什么?如何摆脱二次挂牌?
【问题讨论】:
-
您能否更具体地说明您的结果有什么问题。如果您可以删除额外的属性,那就更容易回答了。
-
当我要公寓时,我想得到它所属的建筑物,而不是该建筑物中公寓的列表。
-
您在
BedroomCount中有一个不幸的错字。 (我希望这是一个错字。我不知道你经营的是什么类型的企业。) -
您可能想尝试自定义 JsonConverter。不确定。 newtonsoft.com/json/help/html/CustomJsonConverter.htm