我想使用 Fable.JsonConverter。
我的测试代码(几乎复制 this )FableJson.fs
在下面,
module FableJson
open Newtonsoft.Json
// Always use the same instance of the converter
// as it will create a cache to improve performance
let private jsonConverter = Fable.JsonConverter() :> JsonConverter
// Serialization
let toJson value =
JsonConvert.SerializeObject(value, [|jsonConverter|])
// Deserialization
let ofJson<'T> json =
JsonConvert.DeserializeObject<'T>(json, [|jsonConverter|])
和
paket.dependencies
文件添加了 nuget Fable.JsonConvertersource https://nuget.org/api/v2
storage:none
clitool dotnet-fable
nuget Fable.Core
nuget Fable.Import.Browser
nuget Fable.JsonConverter
和
src/paket.references
文件添加了 Fable.JsonConverterdotnet-fable
Fable.Core
Fable.Import.Browser
Fable.JsonConverter
但无法编译。
~~~ snip ~~~
ERROR in ./src/FableJson.fs
d:/SRC/Repos/Fable/testJsonConverter/src/FableJson.fs(11,4): (11,57) error FABLE: Cannot find replacement for Newtonsoft.Json.JsonConvert::SerializeObject
@ ./src/App.fs 6:0-48
@ ./src/testJsonConverter.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/testJsonConverter.fsproj
ERROR in ./src/FableJson.fs
d:/SRC/Repos/Fable/testJsonConverter/src/FableJson.fs(15,4): (15,62) error FABLE: Cannot find replacement for Newtonsoft.Json.JsonConvert::DeserializeObject
@ ./src/App.fs 6:0-48
@ ./src/testJsonConverter.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/testJsonConverter.fsproj
ERROR in ./src/FableJson.fs
d:/SRC/Repos/Fable/testJsonConverter/src/FableJson.fs(7,28): (7,49) error FABLE: Cannot find replacement for Fable.JsonConverter::.ctor
@ ./src/App.fs 6:0-48
@ ./src/testJsonConverter.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/testJsonConverter.fsproj
我应该怎么办?
最佳答案
@Maslow 是对的,在 Fable 2 中,我们删除了 Fable.JsonConverter 以支持社区创建的库。
Thoth.Json 与 Thoth.Json.Net 相辅相成,允许您在后端使用相同的 API。
我认为 Fable.SimpleJson 也提供对后端的支持,但我不确定。
您可以使用 JavaScript 原生 API
Fable.Core.JS.JSON.stringify
和 Fable.Core.JS.JSON.parse(x)
,但您必须使用 unbox
/cast 来强制您的数据类型不安全且容易损坏。关于f# - 如何编译 Fable.JsonConverter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48054112/