Estou tentando usar o seguinte código para serializar um tipo anônimo para JSON:
var serializer = new DataContractJsonSerializer(thing.GetType());
var ms = new MemoryStream();
serializer.WriteObject(ms, thing);
var json = Encoding.Default.GetString(ms.ToArray());
No entanto, recebo a seguinte exceção quando isso é executado:
Digite '<> f__AnonymousType1`3 [System.Int32, System.Int32, System.Object []]' não pode ser serializado. Considere marcá-lo com o atributo DataContractAttribute e marcar todos os seus membros que você deseja serializar com o atributo DataMemberAttribute. Consulte a documentação do Microsoft .NET Framework para outros tipos suportados.
Não posso aplicar atributos a um tipo anônimo (tanto quanto eu sei). Existe outra maneira de fazer essa serialização ou estou faltando alguma coisa?