使用 ppx_yojson_conv 序列化 JSON 資料

任務

資料格式 / JSON / 序列化 JSON 資料

使用的 Opam 套件

  • ppx_yojson_conv 測試版本:v0.17.0 — 使用的函式庫:ppx_yojson_conv
  • yojson 測試版本:2.1.2 — 使用的函式庫:yojson

程式碼

Ppx_yojson_conv_lib.Yojson_conv.Primitives 包含序列化原始型別值所需的函式。

open Ppx_yojson_conv_lib.Yojson_conv.Primitives

註解 [@@deriving to_yojson] 會導致 ppx_yojson_conv 的 PPX 產生一個函式 yojson_of_language,該函式將 language 型別的值轉換為 Yojson.Safe.t

type language = { 
  name: string; 
  url: string 
} [@@deriving to_yojson]

let ocaml_language = { 
  name: "ocaml"; 
  url: "https://ocaml.dev.org.tw/" 
}

我們使用 PPX 產生的函式 yojson_of_language 將值 ocaml_language 轉換為 Yojson.Safe.t,然後將其轉換為字串。

let () = 
  ocaml_language
  |> yojson_of_language 
  |> Yojson.Safe.to_string 
  |> print_endline

食譜無法運作?註解不清楚或過時?

開啟一個 issue貢獻這個食譜