簡體   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