Я думаю, что тип F # vector
не обеспечивает всей необходимой поддержки сериализации JSON (и является довольно сложным типом внутри). Возможно, в вашем случае лучше всего преобразовать его в массив и сериализовать массив (что также определенно приведет к созданию более короткого и более эффективного JSON).
Преобразование довольно просто:
let aaa = vector [1.1;2.2]
let arr = Array.ofSeq aaa // Convert vector to array
// BTW: The 'use' keyword behaves like 'using' in C#
use writer = new StreamWriter( @"c:\test.txt" )
let serializer = new DataContractJsonSerializer()
serializer.WriteObject(writer.BaseStream, aaa)
Чтобы преобразовать массив обратно в вектор, вы можете использовать Vector.ofSeq
(что эквивалентно Array.ofSeq
, использованному в примере выше).