一个非常基本的例子:
type private test =
{
a : string
b : string list
}
let t = { a = "hello"; b = ["1"; "2"] }
let s = JsonConvert.SerializeObject(t)
这将产生一个空字符串。
我已经看到json.net支持F#,并且有很多与枚举类型相关的帖子,等等,但我还没有:我正在尝试序列化非常简单的内容。
许多帖子都指向另一个名为Chiron的json序列化程序项目,但它在一年前进行了更新,并且仍然像:
我们正在与Chiron合作使用指南和参考内容,因此请随时关注更新 有没有明显的东西我没见过?
所以理想情况下,使用json.net会更好,特别是因为我在C#中已经习惯了
答案 0 :(得分:2)
问题似乎是Json.Net仅序列化F#记录的公共字段。当您将记录标记为private
时,其所有字段也将变为私有字段,这些字段将被忽略。以下对我来说是预期的:
type test =
{
a : string
b : string list
}
let t = { a = "hello"; b = ["1"; "2"] }
let s = JsonConvert.SerializeObject(t)
这将产生预期的JSON:
{"a":"hello","b":["1","2"]}