次のコードを使用して、匿名型を JSON にシリアル化しようとしています。
var serializer = new DataContractJsonSerializer(thing.GetType());
var ms = new MemoryStream();
serializer.WriteObject(ms, thing);
var json = Encoding.Default.GetString(ms.ToArray());
ただし、これを実行すると次の例外が発生します。
型 '<>f__AnonymousType1`3[System.Int32,System.Int32,System.Object[]]' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。サポートされているその他の型については、Microsoft .NET Framework のドキュメントを参照してください。
属性を匿名型に適用することはできません (私の知る限り)。このシリアル化を行う別の方法はありますか、それとも何か不足していますか?