2013-07-24 14 views
6

Tôi cần trợ giúp để làm việc js_of_ocaml. Không có nhiều thông tin về nó trên mạng và hướng dẫn sử dụng rất thưa thớt (không có đoạn trích hoặc ví dụ sử dụng, không có phần bình luận).js_of_ocaml và Deriving_Json

Tôi có mô-đun Card trên máy chủ có bản ghi card. Tôi đang gửi một card list cho khách hàng bằng cách sử dụng Ajax, và ở đó tôi muốn đọc và duyệt qua danh sách này. Những gì tôi kết thúc với là thế này:

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

... nơi json đã gõ 'a, theo tài liệu (không khi tôi chạy nó, tất nhiên).

Tôi có thể đăng nhập json##length và nhận độ dài chính xác của danh sách. Nơi nào tôi đi từ đây? Lý tưởng nhất, tôi muốn sử dụng Deriving_Json để loại an toàn có được một card list một lần nữa, nhưng tôi cũng có thể sử dụng một for-loop (không phải là thanh lịch, nhưng bất cứ điều gì).

Trả lời

3

Khai báo kiểu như type name = ... deriving(Json) tạo mô-đun Json_name. Đây là ví dụ.

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 

Và tôi không chắc tại sao, tôi nhận được "Tham chiếu không bắt buộc: unix_inet_addr_of_string không được xác định".

Vì vậy hãy thêm function unix_inet_addr_of_string() {return 0;} vào tệp js.

Các vấn đề liên quan