js_of_ocaml和Deriving_Json

Oll*_*edt 6 javascript json ocaml deriving js-of-ocaml

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

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

let json = Json.unsafe_input (Js.string http_frame.XmlHttpRequest.content) in
Run Code Online (Sandbox Code Playgroud)

... 根据文档(当我运行它时,当然json有类型'a).

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

zak*_*kki 3

类型声明如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
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,我得到“未捕获的引用错误:unix_inet_addr_of_string未定义”。

所以添加function unix_inet_addr_of_string () {return 0;}到js文件中。