yojson

Yojson is an optimized parsing and printing library for the JSON format
README

This library is for manipulating the json AST directly. For mapping between OCaml types and json, we recommend atdgen.

Library documentation

Currently at https://ocaml-community.github.io/yojson/

Design goals

  • reducing inter-package dependencies by the use of polymorphic
    variants for the JSON tree type

  • allowing variants of the JSON tree type to be shipped by the library
    itself or to be easily created as extensions of the library

  • allowing type-aware serializers/deserializers such as json-static
    to read and write directly without going through a JSON tree,
    for efficiency purposes.
    This requires making readers and writers of JSON atoms (int, string,
    etc.) to be exported and composable.

  • providing a few non-standard, optional extensions of JSON.
    These extensions will include:

    • optional quotes around "simple" field/constructor names

    • a syntax for tuples (at least 2 elements): (x, y)

    • a syntax for variants (0 or 1 arg only): <Foo> <Bar:"abc">

Other choices already in json-wheel

  • distinction between ints and floats (optional)

  • Getting rid of the UTF-X encoding constraint that prevents from
    exchanging binary data:

    • encoding is ASCII except for the contents of string literals

    • string literals may represent arbitrary sequence of bytes

    • \uABCD escapes in string literals expand to UTF-8

Miscellaneous

  • no dependency on ocamlnet for UTF-8

Install
Sources
yojson-1.7.0.tbz
md5=b89d39ca3f8c532abe5f547ad3b8f84d
Dependencies
alcotest
with-test & >= "0.8.5"
biniou
>= "1.2.0"
cppo
build
ocaml
>= "4.02.3"
Reverse Dependencies
acgtk
>= "1.3.2"
atd
>= "2.6.0"
aws
< "1.0.0"
aws-s3
>= "1.1.0" & < "4.5.1"
camelot
>= "1.3.0"
coq-serapi
>= "8.10.0+0.7.0"
current_web
>= "0.4"
datakit-ci
>= "0.12.3"
devkit
>= "0.4"
dropbox
>= "0.2"
dune-release
>= "1.4.0"
earlybird
< "1.0.0"
facebook-sdk
< "0.3.1"
frama-c
>= "19.0"
frenetic
>= "3.2.0"
fstar
>= "0.9.3.0-beta1"
gdbprofiler
>= "0.2"
gen-bs
>= "0.1.0"
goblint-cil
>= "1.8.0"
graphql-cohttp
>= "0.13.0"
irmin-bench
< "3.0.0"
irmin-graphql
>= "2.2.0"
js_of_ocaml
= "2.8.4"
jsonrpc
< "1.6.0"
KaSim
>= "4.0.0"
lambdapi
>= "2.0.0"
linol
>= "0.2"
minimal
>= "1.1.0"
nsq
>= "0.2.4"
oclaunch
< "0.2.1"
odoc
>= "2.0.0"
ojs-base
!= "0.2.0"
ometrics
< "0.2.0"
opam2web
>= "2.0"
opium
>= "0.19.0"
pkcs11
>= "0.9.0" & < "1.0.0"
pkcs11-driver
>= "1.0.0"
ppx_yojson_conv
< "v0.13.0"
rdf
>= "0.9.0"
rpc
= "2.2.0"
sihl
< "0.2.0" | >= "0.3.0~rc2"
timere
< "0.4.0"