繁体   English   中英

F#:保存JSON数据

[英]F#: Saving JSON data

我是编程新手,F#是我的第一语言。

这是我的代码的相关部分:

let internal saveJsonToFile<'t> (someObject:'t) (filePath: string) =  
    use fileStream = new FileStream(filePath, FileMode.OpenOrCreate) 
    (new DataContractJsonSerializer(typeof<'t>)).WriteObject(fileStream, someObject)

let testList = new List<Fighter>()

saveJsonToFile testList<Fighter> @"G:\User\Fighters.json"

我以前创建了Fighter类型的F#记录。

当我尝试运行“ saveJsonToFile testList @” G:\\ User \\ Fighters.json“”时,“ testList”用红色强调并带有错误消息:“意外类型参数”。

什么地方出了错? 我想念什么?

首先,您的testList是一个 ,而不是一个函数。
其次,它没有通用的论点,它体内的一切都是具体的。

如果要使其成为函数,请为其提供参数。
如果您希望它是通用的,请在正文中说。

let testList () = new List<'a>()
saveJsonToFile testList<Fighter>() @"G:\\User\\Fighters.json"

最后,您要创建的List可能解析为F#自己的List ,它是一个模块,而不是类型。
如果要创建.NET的System.Collections.Generic.List ,则需要指定完整的类型名称:

let testList () = new System.Collections.Generic.List<'a>()

但是,如果要创建F#本机列表,请使用其构造函数之一:

let testList () = []

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM