Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net F#泛型函数_.net_Json_F# - Fatal编程技术网

.net F#泛型函数

.net F#泛型函数,.net,json,f#,.net,Json,F#,在 我知道我可以做到这一点: let jsonDeserialize json = JsonConvert.DeserializeObject<Dictionary<System.String, System.String>>(json) 让JSONDESerializeJSON=JsonConvert.DeserializeObject(json) 然后将序列化的Json键/值对导入jsonDeserialize。它工作得很好。我的下一个问题是,我可以将对JsonC

我知道我可以做到这一点:

let jsonDeserialize json = JsonConvert.DeserializeObject<Dictionary<System.String, System.String>>(json)
让JSONDESerializeJSON=JsonConvert.DeserializeObject(json)
然后将序列化的Json键/值对导入jsonDeserialize。它工作得很好。我的下一个问题是,我可以将对JsonConvert.DeserializeObject的调用泛化吗?我想使用它,这样我就可以反序列化到具有相同函数的其他类型

我试过了

let jsonDeserialize json mytype : 'a  = JsonConvert.DeserializeObject<'a>(json)
让jsonDeserialize json mytype:'a=JsonConvert.DeserializeObject jsonDeserialize字典
或者类似的东西,在惯用的F#

中,类型参数在尖括号中指定和传递:

let jsonSerialize<'mytype> json : 'mytype = JsonConvert.DeserializeObject<'mytype> json

let jsDeser = jsonSerialized |> jsonDeserialize<Dictionary<string, string>>

让jsonserialize我想你的意思是
让jsonserialize是的,那是个打字错误。谢谢。我认为我们可以删除返回类型
让jsonSerialize json
,但我不认为我们可以从函数
让jsonSerialize json=JsonConvert.DeserializeObjectOption 1工作得很好,选项2需要帮助。因为我想通过管道将结果创建贴图。我有:
让jsonDeserialize2 json=JsonConvert.DeserializeObject
let jsonSerialize<'mytype> json : 'mytype = JsonConvert.DeserializeObject<'mytype> json

let jsDeser = jsonSerialized |> jsonDeserialize<Dictionary<string, string>>
let jsonSerialize json = JsonConvert.DeserializeObject<'a> json

let jsDeser : Dictionary<string, string> = jsonDeserialize jsonSerialized