package yojson
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Yojson is an optimized parsing and printing library for the JSON format
Install
dune-project
Dependency
Authors
Maintainers
Sources
yojson-1.5.0.tbz
sha256=70a0f972fedebd736546eae832e255753d3214a8b3283597ae112577d70c8b33
md5=d80de1bacdde292af42f7c78b323da7b
Description
Yojson is an optimized parsing and printing library for the JSON format.
It addresses a few shortcomings of json-wheel including 2x speedup, polymorphic variants and optional syntax for tuples and variants.
ydump is a pretty-printing command-line program provided with the yojson package.
The program atdgen can be used to derive OCaml-JSON serializers and deserializers from type definitions.
Published: 27 Dec 2018
README
Yojson: low-level JSON library for OCaml
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
\uABCDescapes in string literals expand to UTF-8
Miscellaneous
- no dependency on ocamlnet for UTF-8
Dependencies (5)
-
biniou
>= "1.2.0" - easy-format
-
cppo
build - dune
-
ocaml
>= "4.02.3"
Dev Dependencies
None
-
0install
< "2.18" - anthropic
-
archetype
< "1.2.5" -
atdgen
< "2.2.1" -
atdgen-runtime
< "2.2.1" -
aws-s3
< "4.5.1" | >= "4.8.0" - bap-radare2
-
bitcoin
< "3.0" - boulangerie
-
builder-web
>= "0.2.0" -
calculon
< "0.6" - calculon-redis-lib
- camels
- canary
- cb-check
-
cbor
< "0.3" - cconv-ppx
- colibrics
- comby
- comby-kernel
- comby-semantic
-
containers
>= "3.9" - current_docker
- current_git
- current_github
- current_gitlab
- current_slack
- current_ssh
- dap
- daypack-lib
- dblp-api
-
decoders-yojson
< "0.7.0" -
devkit
< "1.2" - disml
-
docker-api
< "0.2.2" - dream
- dream-inertia
-
elpi
>= "3.3.1" -
frama-c
< "23.0" - fred
- fstar
-
gdbprofiler
< "0.4" -
gemini
< "0.3.0" -
github
< "4.1.0" -
goblint-cil
>= "1.8.0" -
graphql
< "0.14.0" -
graphql_ppx
< "1.2.2" - h2
-
hilite
< "0.3.0" - hl_yaml
- hockmd
- hpack
- hsluv
- huml
- huml-cli
- index-bench
- irmin-graphql
- irmin-tezos
-
jhupllib
< "0.2.2" -
js_of_ocaml-compiler
< "5.9.0" - json-rpc
- json_decoder
- jsondiff
-
jsonrpc
< "1.6.0" - jsonschema
- jsonschema2atd
-
jupyter
< "2.7.0" -
jupyter-kernel
< "0.5" - jwt
-
jwto
< "0.2.0" - karamel
- kind2
-
kremlin
< "transition" - kubecaml
- learn-ocaml
- lsp
- monorobot
-
morbig
< "0.10.4" - nsq
-
obuilder
< "0.4" - ocaml-lsp-server
-
ocaml-protoc-plugin
>= "6.1.0" - ocaml-protoc-yojson
-
odoc
= "2.1.1" - oframl
- ogen
- oidc
- openai-gym
- oraft
- orun
- ozulip
-
pds-reachability
< "0.2.3" - petr4
-
phylogenetics
= "0.2.0" - pkcs11
- plist
- podge
- ppx_deriving_jsonschema
-
ppx_protocol_conv_json
>= "5.0.0" & < "5.2.1" -
ppx_yojson
< "1.0.0" - prof_spacetime
-
qmp
< "0.19.0" - quests
- r2pipe
- radare2
-
rdf
< "0.12.0" -
records
< "1.0.0" - repr-bench
- rungen
- SZXX
- safemoney
- satyrographos
- savvy
- semver2
- sentry
- slack
- slacko
- slug
- spotify-web-api
- stitch
- swagger
-
tdigest
< "2.1.0" - telegraml
-
textrazor
< "0.1.1" - tezos-context-hash-irmin
- vecosek
- vecosek-scene
- vercel
-
vscoq-language-server
< "2.3.3" - vsrocq-language-server
-
wamp
< "1.0" - wamp-yojson
- webauthn
-
xapi-rrd
>= "1.9.0"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page