package jsonaf

  1. Overview
  2. Docs
A library for parsing, manipulating, and serializing data structured as JSON

Install

Dune Dependency

Authors

Maintainers

Sources

jsonaf-v0.15.0.tar.gz
sha256=695e50569db70af61954a1a177ba119d2f2ddcdd34a54f39213d659b23dd6ff8

Description

A library for parsing, manipulating, and serializing data structured as JSON.

Published: 21 Mar 2022

README

Jsonaf

This is a library for parsing, manipulating, and serializing data structured as JSON. It's built on the Angstrom and Faraday libraries. The underlying type is a simple polymorphic type:

type t =
  [ `Null
  | `False
  | `True
  | `String of string
  | `Number of string
  | `Object of (string * t) list
  | `Array of t list
  ]

Note that Number has a type of string! This is intentional, as it is left up to the user to decide how numbers should be interpreted. Certain fields might be integers while others might be floats.

The most bare-bones use case of this library is to pattern match on the type above and use the following two functions:

val of_string : string -> t
val to_string : t -> string

Jsonaf_kernel

The kernel library simply contains the type and functions to serialize and deserialize the type to a string. It has no other dependencies outside of Angstrom and Faraday.

Dependencies (6)

  1. faraday
  2. dune >= "2.0.0"
  3. angstrom >= "0.15.0"
  4. ppx_jane >= "v0.15" & < "v0.16"
  5. base >= "v0.15" & < "v0.16"
  6. ocaml >= "4.10.0"

Dev Dependencies

None

Used by (4)

  1. decoders-jsonaf
  2. hardcaml_of_verilog < "v0.16.0"
  3. ppx_jsonaf_conv < "v0.16.0"
  4. sexp = "v0.15.0"

Conflicts

None