かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

ASP.NET WebAPIで循環参照を持ったオブジェクトを返したい

ということで、元ネタはこちらです。

Serializing Circular References with JSON.Net and Entity Framework

基本的に参照先のでいいのですが、ちょっとクラス名が変わってました。

var jsonSerializerSettings = new JsonSerializerSettings
{
    PreserveReferencesHandling = PreserveReferencesHandling.Objects
};
config.Formatters.Clear();
// 参照先ではJsonFormatterというクラスになってた
config.Formatters.Add(new JsonMediaTypeFormatter { SerializerSettings = jsonSerializerSettings });

数時間悩んだよ。