J'essaie de sérialiser le type "vectoriel" (Microsoft.FSharp.Math). Et je reçois cette erreur:Comment JSON sérialiser le type de vecteur mathématique dans F #?
Exception Details: System.Runtime.Serialization.SerializationException: Type '[email protected]' with data contract name 'Instances.FloatNumerics_x0040_115: http://schemas.datacontract.org/2004/07/Microsoft.FSharp.Math ' is not expected. Add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.
J'ai essayé de mettre l'attribut KnownType et d'autres choses, mais rien n'y fait!
Quelqu'un pourrait-il connaître la réponse? Ce est le code que j'utilise:
// [< KnownType(typeof<vector>) >]
type MyType = vector
let public writeTest =
let aaa = vector [1.1;2.2]
let serializer = new DataContractJsonSerializer(typeof<MyType>)
let writer = new StreamWriter(@"c:\test.txt")
serializer.WriteObject(writer.BaseStream, aaa)
writer.Close()
Bon point et pur, mais que faire si le vecteur fait partie d'une structure plus grande et que je veux sérialiser toute la structure et non pas champ par champ? –