我不知道理解你想做的事,但是,關於JSON,您可以使用「導出」(參見Deriving_Json)通過使用OCaml的型像這樣來創建一個JSON類型:
type deriving_t = (string * string) deriving (Json)
這將創建對應於OCaml類型的JSON類型。
這裏使用這種類型與服務器通信(如果您不知道服務器的功能,這裏的documentation它和有關服務器端客戶端值)的方式:
(* 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網站上找到相關文檔)。
希望能幫到你。
json-wheel已過時,請改用yojson – romerun