给定记录类型和记录列表:
type note = {
text: string,
id: string
};
let notes: list complete_note = [{text: "lol", id: "1"}, {text: "lol2", id: "2"}]如何使用bs-json模块将其编码为JSON?
我尝试过的是:我尝试使用扣标中的字符串内插来手动创建JSON字符串,但这肯定不是我想要做的事情:)
notes
|> Array.of_list
|> Array.map (
fun x => {
// What should I do?
}
)
|> Json.Encode.stringArray
|> Js.Json.stringify;发布于 2017-07-12 13:56:14
免责声明,我不是一个理由专家,所以代码可能是非惯用的。它也可能有错误,因为我没有安装BuckleScript,所以我没有对它进行测试。
因此,如果希望使用text和id字段将每个注释表示为JSON对象,则可以使用Js.Json.objectArray函数从JS字典数组创建JSON文档。创建字典的最简单方法是使用Js.Dict.fromList函数,它接受一对的列表。
notes
|> Array.of_list
|> Array.map (fun {id, text} => {
Js.Dict.fromList [("text", Js.Json.string text), ("id", Js.Json.string id)]
})
|> Js.Json.objectArray
|> Js.Json.stringify;https://stackoverflow.com/questions/45054617
复制相似问题