Атрибут Asp.net ScriptIgnore не работает
Вот мои классы POCO:
public class A
{
public int id { get; set; }
public virtual B b { get; set; }
}
public class B
{
public int id { get; set; }
[ScriptIgnore]
public virtual A a { get; set; }
}
Я хочу сериализовать объект от A до Json. Но когда я пытаюсь сериализовать прокси-объект POCO, я получаю исключение циклической ссылки (хотя это работает для объектов POCO). Я искал через Google и обнаружил, что атрибут ScriptIgnore должен работать в.Net 4.5. Но я использую.Net 4.5 и, видимо, он не работает. Может ли кто-нибудь сказать мне, как решить эту проблему?
1 ответ
Круговые графы объектов не могут быть сериализованы в JSON. Правильный способ состоит в том, чтобы создать модель представления анонимных объектов, например.
return Json(new{A.id, A.B.id})