F# DataContractJsonSerializer StackruException
dataElementsList : TypesAndData.DataElement list
это список из 50000 записей (на самом деле еще много, но давайте начнем с малого). Я пытаюсь сериализовать в файл JSON:
let ser = Json.DataContractJsonSerializer(typeof<TypesAndData.DataElement list>)
use ofs = File.OpenWrite(fileName)
let result = ser.WriteObject(ofs, dataElementsList)
и получаю печально известную StackruException. точнее:
Необработанное исключение типа "System.StackruException" произошло в FSharp.Core.dll
любой совет?
1 ответ
Решение
Вы не должны пытаться сериализовать список F# таким способом. Преобразуйте его в массив с List.toArray
,
(Я ожидаю, что сериализаторы DataContract видят списки как вложенные структуры данных 'first' / 'rest', что означает 50000-ю глубину дерева Json/Xml, а это не то, что вам нужно.)