使用 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.org.cn/" 
}

我们使用 PPX 生成的函数 yojson_of_language 将值 ocaml_language 转换为 Yojson.Safe.t,然后将其转换为字符串。

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

菜谱无法运行?注释不清楚或已过时?

提交问题参与完善此菜谱