6

js_of_ocaml を機能させるには、助けが必要です。ネット上にはあまり情報がなく、マニュアルも非常にまばらです (スニペットや使用例、コメント セクションはありません)。

サーバー上にレコードのあるCardモジュールがあります。card私はcard listAjax を使用してクライアントに を送信しています。そこで、このリストを読み取ってトラバースしたいと考えています。私が最終的にはこれです:

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

... where jsonhas type 'a、ドキュメントによると(もちろん、実行したときではありません)。

json##lengthリストの正しい長さをログに記録して取得できます。ここからどこへ行けばいいですか?Deriving_Json理想的には、タイプ セーフな get aを使用したいのですcard listが、for ループを使用することもできます (それほどエレガントではありませんが、何でも)。

4

1 に答える 1

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

理由はわかりませんが、「Uncaught ReferenceError: unix_inet_addr_of_string が定義されていません」というメッセージが表示されました。

function unix_inet_addr_of_string () {return 0;}jsファイルに追加します。

于 2013-07-25T05:26:36.703 に答える