我不确定你想做什么,但是,关于 JSON,你可以使用“派生”(参见Deriving_Json)通过使用这样的 OCaml 类型来创建 JSON 类型:
type deriving_t = (string * string) deriving (Json)
这将创建对应于 OCaml 类型的 JSON 类型。
这里是使用这种类型与服务器通信的方式(如果你不知道服务器功能,这里是关于它和服务器端客户端值的文档):
(* first you have to create a server function (this allowed the client to call a function from the server *)
let json_call =
server_function
Json.t<deriving_t>
(fun (a,b) ->
Lwt.return (print_endline ("log on the server: "^a^b)))
(* let say that distillery has already generate all the needed stuff (main_service, Foobar_app, etc..) *)
let () =
Foobar_app.register
~service:main_service
(fun () () ->
{unit{
(* here I call my server function by using ocaml types directly, it will be automatically serialize *)
ignore (%json_call ("hello", "world"))
}};
Lwt.return
(Eliom_tools.F.html
~title:"foobar"
~css:[["css";"foobar.css"]]
Html5.F.(body [
h2 [pcdata "Welcome from Eliom's distillery!"];
])))
如果你想使用一些客户端/服务器通信,你应该看看 Eliom_bus、Eliom_comet 或 Eliom_react。
(抱歉,我不能创建超过 2 个链接 :) 但您可以在 ocsigen.org 网站上找到文档)。
希望能帮到你。