У меня есть объект в моем проекте с циклическими ссылками. Я поместил [JsonIgnore] выше поля как так:
[JsonIgnore]
public virtual Foobar ChildObject { get; set; }
Я все еще получаю ошибки циклической ссылки, когда я сериализирую объект. Единственные поля, которые не имеют JsonIgnore, являются строковыми полями и не должны вызывать это. Есть ли что-то еще, что я должен сделать, чтобы заставить JsonIgnore работать?
Спасибо!
Вероятно, у вас есть какое-то другое свойство, которое ссылается на его родительский объект. Используйте параметр ReferenceLoopHandling.Ignore
, чтобы предотвратить петли с саморегулированием.
using Newtonsoft.Json;
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string json = JsonConvert.SerializeObject(foobars, Formatting.None, jsSettings);