определить, есть ли у объекта JSON ключ с помощью Yojson - PullRequest
2 голосов
/ 07 марта 2019

Как я могу проверить, существует ли поле в объекте JSON, используя Yojson в OCaml?Мне нужно что-то вроде has_key функции, например:

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 *)

1 Ответ

2 голосов
/ 07 марта 2019

Yojson.Basic.Util.member "x" data возвращает Null, если "x" не является ключом данных Йойсона; или `Assoc, если" x "является ключом.

вы можете определить

  let has_key d k = not ((Yojson.Basic.Util.member k d) = `Null);;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...