javascript - js_of_ocaml 和 Deriving_Json

标签 javascript json ocaml deriving js-of-ocaml

我需要一些帮助才能使 js_of_ocaml 正常工作。网上关于它的信息不多,手册也很稀疏(没有片段或用法示例,也没有评论部分)。

我在服务器上有一个 Card 模块,带有一个 card 记录。我正在使用 Ajax 向客户端发送一个 card list,我想在那里读取并遍历这个列表。我最终得到的是:

let json = Json.unsafe_input (Js.string http_frame.XmlHttpRequest.content) in

...根据文档,json 的类型为 'a(当然不是在我运行它时)。

我可以记录 json##length 并获得列表的正确长度。我从这里去哪里?理想情况下,我想使用 Deriving_Json 来类型安全地再次获取 card list,但我也可以使用 for 循环(不是那么优雅,但无论如何) .

最佳答案

type name = ... deriving(Json) 这样的类型声明创建 Json_name 模块。 这是示例。

type card =  {a: int; b: string; } deriving(Json)
type t = card list deriving(Json)

let _ =
  let str = Json.to_string<t> [{a = 10; b = "abc";}; {a = 20; b = "xyz";}] in
  let rs = Json.from_string<t> str in
  Firebug.console##log(Js.string str);
  List.iter (fun r -> Firebug.console##log_2(r.a, Js.string r.b)) rs

而且我不确定为什么,我收到“ Uncaught ReferenceError :未定义 unix_inet_addr_of_string”。

所以在js文件中加入function unix_inet_addr_of_string () {return 0;}

关于javascript - js_of_ocaml 和 Deriving_Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17823393/

相关文章:

javascript - 在另一个函数内部调用带参数的函数

javascript - 从外部输入动态更改脚本

javascript - 将模型导入 three.js - 性能

java - 比较 2 个 JSONArray

haskell - 使用 FFI 从 OCaml 调用 haskell 代码

javascript - HTML/Javascript 在文件上传前访问 EXIF 数据

javascript - 在 Firefox 中页面完全加载之前无样式的文本闪烁

Java 实体管理器 - JSON 阅读器期待一个值但发现 'db'

ocaml - 如何将 OCAMLOPT FLAGS 添加到 Oasis?

functional-programming - 如何在OCaml中返回for循环的索引?