次のコードを使用して、匿名型を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のドキュメントを参照してください。
(私の知る限り)匿名型に属性を適用することはできません。このシリアル化を行う別の方法はありますか、それとも何か不足していますか?