Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml 检测JSON对象是否具有带有Yojson的密钥_Ocaml - Fatal编程技术网

Ocaml 检测JSON对象是否具有带有Yojson的密钥

Ocaml 检测JSON对象是否具有带有Yojson的密钥,ocaml,Ocaml,如何在OCaml中使用Yojson检查JSON对象中是否存在字段?我需要类似于的东西,它具有如下功能: let () = let data = Yojson.Basic.from_string "{\"x\": 4}" in let has_x = has_key data "x" in let has_y = has_key data "y" in Printf.printf "has_x? %b, has_y? %b\n" has_x has_y (* true, false

如何在OCaml中使用Yojson检查JSON对象中是否存在字段?我需要类似于
的东西,它具有如下功能:

let () =
  let data = Yojson.Basic.from_string "{\"x\": 4}" in
  let has_x = has_key data "x" in
  let has_y = has_key data "y" in
  Printf.printf "has_x? %b, has_y? %b\n" has_x has_y (* true, false *)

Yojson.Basic.Util.member“x”数据
如果“x”不是Yojson数据的键,则返回
Null
;如果“x”是键,则为“Assoc”

你可以定义

  let has_key d k = not ((Yojson.Basic.Util.member k d) = `Null);;