【发布时间】:2019-02-01 17:31:41
【问题描述】:
我有一个看起来像这样的列表:
List<Product> products = new List<Product>();
Product p1 = new Product(1, "Apple", new Description("Red Apple"))
Product p2 = new Product(2, "Banana", new Description("Yellow Banana"))
products.Add(p1);
products.Add(p2);
产品如下所示:
//Product model
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Description descriptions { get; set; }
//Description model
public string description { get; set }
现在我想用 JSON.NET 将这个 List<Product> 序列化为 JSON。我试过了:
var json = JsonConvert.SerializeObject(products);
但我收到以下错误:
Newtonsoft.Json.JsonSerializationException: 'Self referencing loop detected for property 'Module' with type 'System.Reflection.RuntimeModule'.
我的Startup.cs 文件中还有以下行应该避免循环:
xy.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
任何想法我做错了什么?我可以提供更多/更好的信息吗? 在此先感谢:)
【问题讨论】:
-
请用构造函数详细提供所有数据结构。唯一值得注意的是
Product构造函数采用单个Description,因此请提供所有必要的详细信息。 -
你能谈谈
Description吗? -
如果你的
Description里面有Product,尝试在变量中添加[JsonIgnore],或者如果有任何对象引用了对象本身。 -
@DanielB 这不是完全相同的问题,因为我有另一个错误无法在您的帖子中解决
标签: c# nhibernate json.net asp.net-core-2.0