.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