├── .gitignore ├── .github └── workflows │ └── ruby.yml ├── CONTRIBUTING.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ab-* 2 | -------------------------------------------------------------------------------- /.github/workflows/ruby.yml: -------------------------------------------------------------------------------- 1 | name: Ruby 2 | 3 | on: 4 | push: {} 5 | schedule: 6 | - cron: '0 10 */7 * *' 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v1 15 | - name: Set up Ruby 2.6 16 | uses: actions/setup-ruby@v1 17 | with: 18 | ruby-version: 2.6.x 19 | - name: Test 20 | run: | 21 | gem install awesome_bot 22 | awesome_bot README.md --allow-ssl --white-list sindresorhus/awesome,rossettacode,json-ld,stateless.co/hal 23 | 24 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Your contributions are always welcome! 4 | 5 | ## Guidelines 6 | 7 | * Add section if needed. 8 | * Add section description. 9 | * Add section title to Table of contents. 10 | * Search previous suggestions before making a new one, as yours may be a duplicate. 11 | * Add your links: `* [project-name](http://example.com/) - A short description ends with a dot.` 12 | * Don't mention `JSON` in the description as it's implied. 13 | * Check your spelling and grammar. 14 | * Make sure your text editor is set to remove trailing whitespace. 15 | * Send a Pull Request. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome JSON [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | A curated list of awesome JSON libraries and resources. 3 | 4 | Inspired by the [awesome](https://github.com/sindresorhus/awesome) list. 5 | 6 | * [Awesome JSON](#awesome-json) 7 | * [Applications](#applications) 8 | * [Binary Serialization](#binary-serialization) 9 | * [Browser Extensions](#browser-extensions) 10 | * [Command-line tools](#command-line-tools) 11 | * [Databases](#databases) 12 | * [Datasets](#datasets) 13 | * [Data modeling](#data-modeling) 14 | * [Data generation](#data-generation) 15 | * [Differencing](#differencing) 16 | * [Format Extensions](#format-extensions) 17 | * [Frontend components](#frontend-components) 18 | * [Libraries](#libraries) 19 | * [Linters](#linters) 20 | * [Online tools](#online-tools) 21 | * [Schema Specifications](#schema-specifications) 22 | * [Services](#services) 23 | * [Supersets](#supersets) 24 | * [Related formats](#related-formats) 25 | * [Resources](#resources) 26 | * [Templates](#templates) 27 | * [Testing](#testing) 28 | * [Text Editor Plugins](#text-editor-plugins) 29 | * [Transformations](#transformations) 30 | * [Tutorials](#tutorials) 31 | * [Queries](#queries) 32 | * [JSON Schema Frontend components](#json-schema-frontend-components) 33 | * [JSON Schema Tools](#json-schema-tools) 34 | * [JSON Schema Resources](#json-schema-resources) 35 | * [JSON Schema Validators](#json-schema-validators) 36 | * [Contribute](#contribute) 37 | 38 | ## Applications 39 | **OS X** 40 | * [Visual JSON](https://apps.apple.com/app/id488709442) ([github](https://github.com/youknowone/VisualJSON)) - simple JSON pretty-viewer for Mac OS X. 41 | * [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - convert a object to a class of one of the currently supported languages. 42 | 43 | ## Binary Serialization 44 | * [BSON](http://bsonspec.org/) - Binary JSON. 45 | * [MessagePack](https://msgpack.org/) - An extremely efficient object serialization library. 46 | * [UBJSON](http://ubjson.org/) - The universally compatible format specification for binary JSON. 47 | * [CBOR](https://tools.ietf.org/html/rfc7049) - Concise Binary Object Representation. 48 | * [PSON](https://github.com/dcodeIO/PSON) - Protocol JSON, super efficient binary serialization format. 49 | 50 | ## Browser Extensions 51 | **Chrome** 52 | * [JSON Formatter](https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa) ([github](https://github.com/callumlocke/json-formatter)) - Makes JSON easy to read. Open source. 53 | * [JSON Viewer](https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh) ([github](https://github.com/tulios/json-viewer)) - It is a Chrome extension for printing JSON and JSONP. 54 | * [JSON Browser](https://chrome.google.com/webstore/detail/json-browser/hngfgkmimoikmpohakflgadcajkfnoba) ([github](https://github.com/platy/json-browser/)) - Browse a JSON web with the help of JSON schemas. 55 | * [JSON Finder](https://chrome.google.com/webstore/detail/json-finder/flhdcaebggmmpnnaljiajhihdfconkbj) ([github](https://github.com/rapee/jsonfinder)) - Browse like you do it in Finder. 56 | * [JSON Viewer Awesome](https://chrome.google.com/webstore/detail/json-viewer-awesome/iemadiahhbebdklepanmkjenfdebfpfe/related?hl=en) - An open source Chrome extension for browsing JSON with syntax highlighting and folding, or as a visual graph. 57 | 58 | **Firefox** 59 | * [JSONView](https://addons.mozilla.org/en-US/firefox/addon/jsonview/) ([github](https://github.com/bhollis/jsonview)) - View JSON documents in the browser. 60 | 61 | **Safari** 62 | * [JSONAce](https://safari-extensions.apple.com/details/?id=com.acrogenesis.jsonace-56Q494QF3L) ([github](https://github.com/acrogenesis/JSONAce)) - Formats & syntax highlights JSON viewed inside of the web browser using the ACE editor. 63 | * [JSONView](https://safari-extensions.apple.com/details/?id=com.acrogenesis.jsonview-56Q494QF3L) ([github](https://github.com/acrogenesis/jsonview-safari)) - A port of the JSONView Firefox extension that formats and syntax highlights JSON viewed inside of the browser 64 | 65 | ## Command-line tools 66 | * [fx](https://github.com/antonmedv/fx) - A interactive terminal tool. 67 | * [jsoncat](https://github.com/pantuza/jsoncat) - Pretty-print Json in terminal with colors and adjusting tabs size. 68 | * [jq](http://stedolan.github.io/jq/) - A lightweight and flexible command-line JSON processor. 69 | * [json](http://trentm.com/json/) - A "json" command for massaging JSON on your Unix command line. 70 | * [jshon](http://kmkeen.com/jshon/) - A parser designed for maximum convenience within the shell. 71 | * [jarg](http://jdp.github.io/jarg/) - Shorthand JSON and form encoding syntax in the shell. 72 | * [jsawk](https://github.com/micha/jsawk) - Like awk, but for JSON. 73 | * [json-dotenv](https://github.com/decryptus/json-dotenv) - Manipulate and extract envfiles in json format. 74 | * [gron](https://github.com/tomnomnom/gron) - Convert a JSON file into discrete assignments that are greppable. 75 | * [jid](https://github.com/simeji/jid) - Incremental Digger. Drill down JSON interactively by using filtering queries like jq. 76 | * [jiq](https://github.com/fiatjaf/jiq) - It's `jid` with `jq`. You can drill down interactively by using `jq` filtering queries. 77 | * [jv](https://github.com/maxzender/jv) - jv (for jsonviewer) helps you view your JSON. 78 | * [jl](https://github.com/chrisdone/jl) - Functional sed for JSON. 79 | * [oj](https://github.com/ohler55/ojg) - A fast and flexible command line JSON processor. 80 | 81 | ## Databases 82 | * [MongoDB](https://www.mongodb.com/) - an open-source document database, and the leading NoSQL database. 83 | * [RethinkDB](https://rethinkdb.com/) - An open-source distributed document database with a pleasant and powerful query language. 84 | * [EJDB](https://github.com/Softmotions/ejdb) - Embedded JSON Database engine published under MIT license. (C) 85 | * [lowdb](https://github.com/typicode/lowdb) - Flat file database built on lodash API. (Javascript) 86 | * [Lawnchair](https://github.com/brianleroux/lawnchair) - A lightweight clientside document store. (Javascript) 87 | * [JSON ODM](https://github.com/konsultaner/jsonOdm) - Object document mapper for JavaScript to use on the server or in the browser. (Javascript) 88 | * [JSON Server](https://github.com/typicode/json-server) - Get a full fake REST API with zero coding in less than 30 seconds. 89 | * [Kinto](https://github.com/Kinto/kinto) - A lightweight JSON storage service with synchronisation and sharing abilities. 90 | * [CouchDB](http://couchdb.apache.org/) - Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability. 91 | * [RxDB](https://github.com/pubkey/rxdb) - Event-driven JSON-Database with JSON-Schema, mango-Query and CouchDB-sync. (Javascript) 92 | * [JSONlite](https://github.com/nodesocket/jsonlite) - A simple, self-contained, serverless, zero-configuration, json document store. (Bash) 93 | 94 | ## Datasets 95 | * [country.io](http://country.io/data/) - Various country related datasets, as JSON inc currency, country codes, names and more 96 | * [countries](https://github.com/mledoze/countries) - World countries. 97 | * [vat-rates](http://jsonvat.com/) - VAT rates for all EU countries. 98 | * [MTG JSON](https://mtgjson.com/) - Up to date Magic the Gathering card data. 99 | * [Heartstone JSON](https://hearthstonejson.com/) - Up to date Hearthstone card data. 100 | * [getCountries()](http://peric.github.io/GetCountries/) - Generator for custom Countries data. 101 | 102 | ## Data modeling 103 | * [JSONModel](https://github.com/jsonmodel/jsonmodel ) - Magical Data Modelling Framework. (Objective-C) 104 | 105 | ## Data generation 106 | * [jsonymize](https://github.com/cameronhunter/jsonymize) - Reads data from standard input, anonymizes, then writes to standard output. 107 | * [dyson](https://github.com/webpro/dyson) - Server for dynamic, fake JSON. (node.js) 108 | 109 | ## Differencing 110 | * [JSONPatch](http://jsonpatch.com/) - A format for describing changes to a document. 111 | * [JSON-Patch](https://github.com/Starcounter-Jack/JSON-Patch) - Lean and mean Javascript implementation of the JSON-Patch standard (RFC 6902). (Javascript) 112 | * [jiff](https://github.com/cujojs/jiff) - JSON Patch and diff based on rfc6902. (Javascript) 113 | * [json-patch-php](https://github.com/mikemccabe/json-patch-php) - implementation of JSON-patch (IETF RFC 6902) (PHP) 114 | * [dffptch](https://github.com/paldepind/dffptch) - A micro library for diffing and patching using a compact diff format. (Javascript) 115 | * [jsondiffpatch](https://github.com/benjamine/jsondiffpatch) - Diff & patch for JavaScript objects. (Javascript) 116 | 117 | ## Editors 118 | * [JSONEdit](http://mb21.github.io/JSONedit/) - User friendly, visual editor built as an AngularJS directive. 119 | 120 | ## Format Extensions 121 | * [GeoJSON](https://geojson.org/) - A geospatial data interchange format. 122 | * [JSON-LD](https://json-ld.org/) - A lightweight Linked Data format. 123 | * [JSON-RPC](https://www.jsonrpc.org/) - A stateless, light-weight remote procedure call (RPC) protocol. 124 | * [JSONP](https://en.wikipedia.org/wiki/JSONP) - Safer cross-domain Ajax with JSON-P/JSONP. 125 | * [JsonML](http://www.jsonml.org/) - A compact format for transporting XML-based markup as JSON which allows it to be losslessly converted back to its original form. 126 | * [JSON5](https://json5.org/) - a extension that aims to make it easier for humans to write and maintain by hand. 127 | * [JSON6](https://github.com/d3x0r/json6) - JSON for Humans (ES6). 128 | * [JSON 1.1/JSONX](https://json-next.github.io/) - An evolved version 1.1 with format extension for humans incl. comments, unquoted and multi-line strings, optional and trailing commas and more. 129 | * [JSON Resume](https://jsonresume.org/) - The open source initiative to create standard for resumes. 130 | * [JSON Web Tokens](https://jwt.io/) - A compact URL-safe means of representing claims to be transferred between two parties. 131 | * [JSON API](https://jsonapi.org/) - A standard for building APIs. 132 | * [Collection+JSON](http://amundsen.com/media-types/collection/) - A read/write hypermedia-type designed to support management and querying of simple collections. 133 | * [hal-json](http://stateless.co/hal_specification.html) - A set of conventions for expressing hyperlinks in either JSON or XML. 134 | * [JSON Activity Streams](http://activitystrea.ms/) - A format for syndicating social activities around the web. 135 | * [JSON-stat](https://github.com/jsonstat/jsonstat) - Simple lightweight format for data dissemination. 136 | * [/contribute.json](https://www.contributejson.org/) - Making open source contribution information easier to access, across projects. 137 | * [JSON Table Schema](https://frictionlessdata.io/docs/table-schema/) - a simple schema for tabular data 138 | * [NDJSON](http://ndjson.org/) (Newline delimited JSON) - a standard for delimiting JSON in stream protocols. 139 | * [survey.js](http://surveyjs.org/) - JSON based survey library. 140 | * [JSON Meta Application Protocol (JMAP)](https://jmap.io/) - A protocol for synchronising JSON-based data objects efficiently, with support for push and out-of-band binary data upload/download. 141 | * [JackSON: JSON secret keeper](https://github.com/r0hi7/jackson) - JSONic way of storing secrets in config file. 142 | 143 | ## Frontend components 144 | * [JSON editor jQuery plugin](https://github.com/DavidDurman/FlexiJsonEditor) - component for you web apps/pages. (jQuery) 145 | * [jqTree](http://mbraak.github.io/jqTree/) - Widget for displaying a tree structure in html. (jQuery) 146 | * [jsTree](https://www.jstree.com/docs/json/) - jquery plugin, that provides interactive trees. (jQuery) 147 | * [Dynatable.js](https://www.dynatable.com/) - A funner, semantic, HTML5+JSON, interactive table plugin. (jQuery) 148 | * [JSON Formatter](https://github.com/mohsen1/json-formatter) - Angular directive for collapsible JSON in HTML. (AngularJS) 149 | * [react-jsonschema-form](https://rjsf-team.github.io/react-jsonschema-form/) - A React component for building Web forms from JSON Schema. (React) 150 | 151 | ## Libraries 152 | **C** 153 | * [Jansson](http://www.digip.org/jansson/) - A C library for encoding, decoding and manipulating data. 154 | * [jsmn](https://zserge.com/jsmn.html) - A minimalistic parser in C. It can be easily integrated into the resource-limited projects or embedded systems. 155 | * [ojc](https://github.com/ohler55/ojc) - A fast JSON parser. 156 | 157 | **C++** 158 | * [ArduinoJson](https://github.com/bblanchon/ArduinoJson) - An efficient library for embedded systems. 159 | * [JSON++](https://github.com/tunnuz/json) - A self contained Flex/Bison parser for C++11. 160 | * [json11](https://github.com/dropbox/json11) - A tiny library for C++11. 161 | * [Nlohmann JSON](https://github.com/nlohmann/json) - A C++11 header-only class. 162 | * [RapidJSON](https://github.com/Tencent/rapidjson) - A fast JSON parser/generator for C++ with both SAX/DOM style API 163 | * [simdjson](https://github.com/simdjson/simdjson) - Parsing gigabytes of JSON per second. 164 | 165 | **Clojure** 166 | * [data.json](https://github.com/clojure/data.json) - parser/generator to/from Clojure data structures. 167 | 168 | **Fortran** 169 | * [JSON-Fortran](https://github.com/jacobwilliams/json-fortran) - A Fortran library for writing, reading, and manipulating JSON files and data structures. 170 | 171 | **Go** 172 | * [ojg](https://github.com/ohler55/ojg) - A collection of high performance JSON processing and generating tool. 173 | 174 | **Haskell** 175 | * [aeson-qq](https://github.com/sol/aeson-qq) - JSON quasiquoter for Haskell. 176 | * [json-schema](http://hackage.haskell.org/package/json-schema) - JSON Schema library for Haskell 177 | * [hjsonschema](http://hackage.haskell.org/package/hjsonschema) - JSON Schema Draft 4 library for Haskell 178 | 179 | **Java** 180 | * [JSON-java](https://github.com/stleary/JSON-java) - A reference implementation. 181 | * [Fast JSON Processor](https://github.com/alibaba/fastjson) 182 | * [Gson](https://github.com/google/gson) - A Java library to convert JSON to Java objects and vice-versa. 183 | * [Jackson](https://github.com/FasterXML/jackson) - A multi-purpose Java library for processing JSON data format. 184 | * [moshi](https://github.com/square/moshi) - A modern JSON library for Android and Java. 185 | * [essential-json](https://github.com/arkanovicz/essential-json) - A lightweight Java library for serialization, parsing and manipulation with a clean and precise API. 186 | * [dsl-json](https://github.com/ngs-doo/dsl-json) - A very fast streaming JSON library. Operates on byte arrays. 187 | * [mjson](https://github.com/bolerio/mjson) - Lean JSON Library for Java, with a compact, elegant API. 188 | 189 | **Javascript** 190 | * [JSON-js](https://github.com/douglascrockford/JSON-js) - JSON in JavaScript. 191 | * [JSON 3](https://bestiejs.github.io/json3/) - A modern implementation. 192 | * [oboe.js](http://oboejs.com/) - A streaming approach, speeds up web applications by providing parsed objects before the response completes. 193 | 194 | **Objective-C** 195 | * [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C library. 196 | * [SBJson](https://stig.github.io/json-framework/) - Parse one or more chunks of data. 197 | 198 | **Perl** 199 | * [JSON::Tiny](https://github.com/daoswald/JSON-Tiny) - Perl module for encoding and decoding JSON in a minimalistic way. 200 | 201 | **PL/SQL** 202 | * [PL/JSON](https://github.com/pljson/pljson) - A generic JSON object written in PL/SQL. 203 | 204 | **PHP** 205 | * [Webmozart JSON](https://github.com/webmozart/json) - A robust decoder/encoder with support for schema validation. 206 | 207 | **Python** 208 | * [simplejson](https://github.com/simplejson/simplejson) - A simple, fast, extensible encoder/decoder 209 | * [jsonpickle](http://jsonpickle.github.io/) - Library for serializing any arbitrary object graph. 210 | * [metamagic.json](https://pypi.org/project/metamagic.json/) - An ultra-fast Python 3 implementation of a JSON encoder. 211 | 212 | **Ruby** 213 | * [oj](https://github.com/ohler55/oj) - A fast JSON parser and Object marshaller as a Ruby gem. 214 | * [MultiJSON](https://github.com/intridea/multi_json) - A generic swappable back-end for JSON handling. 215 | 216 | **React** 217 | * [json2react](https://github.com/txgruppi/json2react) - Use JSON to create React Stateless Components. 218 | 219 | **.NET** 220 | * [jsonfx](https://github.com/jsonfx/jsonfx) - serialization framework for .NET. 221 | * [jsonapi-consumer](https://github.com/OKTAYKIR/jsonapi-consumer) - Client framework for consuming JSONAPI based APIs on the [JSON API standard](http://jsonapi.org/). 222 | 223 | **Scala** 224 | * [spray-json](https://github.com/spray/spray-json) - A lightweight, clean and simple implementation in Scala. 225 | * [circe](https://github.com/circe/circe) - Yet another JSON library for Scala. 226 | * [scala-jsonapi](https://github.com/scala-jsonapi/scala-jsonapi) - Support library for integrating the JSON:API spec with Play, Spray and/or Circe backends. 227 | * [jsoniter-scala](https://github.com/plokhotnyuk/jsoniter-scala) - Scala macros for compile-time generation of ultra-fast JSON codecs. 228 | 229 | **Swift** 230 | * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with data in Swift. 231 | 232 | ## Linters 233 | * [jsonlint](https://github.com/zaach/jsonlint) - Parser and validator with a CLI. (Javascript) 234 | * [JSON Lint](https://github.com/Seldaek/jsonlint) - PHP linter. (PHP) 235 | 236 | ## Online tools 237 | * [JSONLint](https://jsonlint.com/) - The JSON Validator. 238 | * [JSONCompare](https://jsoncompare.com/) - The Advanced Version of the JSON Linter. 239 | * [JSONMate](https://www.jsonmate.com/) - JSON editor, inspector and beautifier. 240 | * [JSON Editor online](http://jsoneditoronline.org/) - A web-based tool to view, edit and format. 241 | * [Collapsible JSON Formatter](http://www.bodurov.com/JsonFormatter/) - Formatter and Colorer of Raw Code. 242 | * [JSON Formatter and Validator](https://jsonformatter.curiousconcept.com/) - Formatter to help with debugging. 243 | * [JSON Generator](https://www.json-generator.com/) - Tool for generating random data. 244 | * [FakeJSON](https://fakejson.com/) - Web API to quickly generate fake data for your application. 245 | * [JSON to CSV](https://konklone.io/json/) - A free, in-browser JSON to CSV converter. 246 | * [CSV to JSON](https://mango-is.com/tools/csv-to-json/) - Easy, privacy-friendly and offline-first online csv to json converter 247 | * [json2csharp](http://json2csharp.com/) - Generate c# classes from a json string or url. 248 | * [JSON Utils](http://jsonutils.com/) - Site for generating C#, VB.Net, and Javascript classes from JSON. 249 | * [geojson.io](http://geojson.io/) - Simply edit GeoJSON map data. 250 | * [jq play](https://jqplay.org/) - A playground for jq. 251 | * [json2yaml](https://www.json2yaml.com/) - Convert JSON to YAML online. 252 | * [JSON Selector Generator](http://jsonselector.com/) - A simple GUI for generating the selectors to access. 253 | * [JSON.fr](https://www.json.fr/) - Fully client-side validator and formatter. 254 | * [ObjGen](http://www.objgen.com/json) - Online live JSON generator. 255 | * [JsonStub](https://jsonstub.com/) - Online JSON faker. 256 | * [JSONPlaceholder](https://jsonplaceholder.typicode.com/) - Fake Online REST API for Testing and Prototyping. 257 | * [Extends Class](https://extendsclass.com/json-diff.html) - Diff tool to compare two files. 258 | * [JSON Schema Validate API](https://assertible.com/json-schema-validation) - A simple and free JSON Schema Validation API. 259 | * [JSONLog](https://jsonlog.io/docs) - Logging and visualization of JSON from any client. 260 | 261 | ## Schema Specifications 262 | * [JSON Schema](http://json-schema.org/) - a JSON based format for defining the structure of JSON data. 263 | * [Itemscript](http://itemscript.org/ItemscriptSchema.html) - Language for validating and specifying values. 264 | * [Kwalify](http://www.kuwata-lab.com/kwalify/) - A parser, schema validator, and data binding tool 265 | * [Rx](http://rx.codesimply.com/) - Simple, Extensible Schemata. 266 | 267 | ## Services 268 | * [Exchange Rate API](https://www.exchangerate-api.com) - A simple and free API for currency exchange rate data. 269 | * [ipinfo.io](https://ipinfo.io) - JSON IP and GeoIP REST API. 270 | * [JSONProxy](https://github.com/afeld/jsonp) - Simple HTTP proxy that enables cross-domain requests to any JSON API. 271 | * [Myjson](http://myjson.com/) - A simple store for your web or mobile app. 272 | * [Telize](http://www.telize.com/) - JSON IP and GeoIP REST API. 273 | * [jsonpad](https://jsonpad.io/) - a simple JSON storage platform. 274 | * [JSONP Proxy](https://github.com/fcambus/jsonp-proxy) - A REST API allowing to get JSONP from any API. 275 | 276 | ## Supersets 277 | * [YAML](https://yaml.org) - A human friendly data serialization standard for all programming languages. 278 | * [HanSON](https://github.com/timjansen/hanson) - JSON for Humans - with unquoted identifiers, multi-line strings and comments. 279 | * [μson](https://github.com/burningtree/uson) (uson) - a shorthand for JSON. 280 | * [HOCON](https://github.com/lightbend/config/blob/master/HOCON.md) - Human-Optimized Config Object Notation. 281 | * [ASON](http://www.americanteeth.org/libason/ason_spec.pdf) - A semantically complete superset of JSON (draft). 282 | * [TOML](https://github.com/toml-lang/toml) - A minimal configuration file format that's easy to read due to obvious semantics. 283 | * [HCL](https://github.com/hashicorp/hcl) - A structured configuration language that is both human and machine friendly. 284 | 285 | ## Tutorials 286 | * [Introducing JSON](http://json.org/) 287 | * [JSON Tutorial](https://www.w3resource.com/JSON/introduction.php) - An introductory tutorial on JavaScript Object Notation (JSON). 288 | * [JSON - Rosetta Code](http://rosettacode.org/wiki/JSON) - Basic operations in different languages (57 languages in this moment). 289 | * [What is JSON and how to use it](https://ilovecoding.org/lessons/json-what-is-json-and-how-to-use-it) - Video tutorial for beginners. 290 | * [jq Primer: Munging JSON Data](http://andrew.gibiansky.com/) - How jq can be used to process JSON files just as effectively as traditional Unix tools. 291 | 292 | ## Related formats 293 | * [AXON](https://intellimath.bitbucket.io/axon/) - A simple text based format for interchanging of objects, documents and data. It tries to combine the best of JSON, XML and YAML. 294 | * [CSON](https://github.com/bevry/cson) - CoffeeScript-Object-Notation. JSON for CoffeeScript objects. 295 | * [MSON](https://github.com/apiaryio/mson) - Markdown syntax compatible with describing JSON and JSON Schema. 296 | * [ArchieML](http://archieml.org/) - Structured text format optimized for human writability. 297 | 298 | ## Resources 299 | * [Type-o-rama](https://github.com/stereobooster/type-o-rama) - JS type systems interportability, comparison of different JS type systems and conversion between them. 300 | * [Awesome jq](https://github.com/fiatjaf/awesome-jq) - A curated list of awesome jq tools and resources. 301 | 302 | ## Templates 303 | * [Jsonnet](https://jsonnet.org/) - A domain specific configuration language that helps you define JSON data. 304 | * [rabl](https://github.com/nesquena/rabl) - General ruby templating with json, bson, xml, plist and msgpack support. (Ruby) 305 | * [json2html](http://json2html.com/) - HTML templating library with wrappers for both jQuery and Node.js. (Javascript) 306 | 307 | ## Testing 308 | * [JSON Test](http://www.jsontest.com/) - Testing platform for services utilizing JavaScript Object Notation (JSON). 309 | * [JSONassert](https://github.com/skyscreamer/JSONassert) - Write JSON unit tests in less code. Great for testing REST interfaces. (Java) 310 | * [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - A library that simplifies JSON comparison in unit tests. It's strongly inspired by XmlUnit. 311 | * [JSON Parsing Test Suite](https://github.com/nst/JSONTestSuite) - A very complete test suite and validation framework. 312 | 313 | ## Text Editor Plugins 314 | **Emacs** 315 | * [JSON Reformat](https://github.com/gongo/json-reformat) - Reformat tool. 316 | 317 | **Vim** 318 | * [vim-json](https://github.com/elzr/vim-json) - A better JSON for Vim: distinct highlighting of keywords vs values, JSON-specific (non-JS) warnings, quote concealing. Pathogen-friendly. 319 | 320 | ## Transformations 321 | * [json-sharp](https://github.com/globocom/json-sharp) - Javascript tool to process operations on pure JSON objects. (Javascript) 322 | * [json2json](https://github.com/joelvh/json2json) - Transform (reformat) structures from one to another. (Javascript) 323 | * [trans](https://github.com/gabesoft/trans) - The ultimate object transformer. (Javascript) 324 | * [osmtogeojson](https://github.com/tyrasd/osmtogeojson) - Converts OSM data to GeoJSON. (Javascript) 325 | * [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Fast XML to JSON and vice versa javascript/JSON conversion. 326 | * [x2js](https://github.com/abdolence/x2js) - XML to JSON and vice versa javascript conversion functions. (Javascript) 327 | * [JSONC](https://github.com/tcorral/JSONC) - JSON compressor and decompressor. (Javascript) 328 | * [JsonMapper](https://github.com/cweiske/jsonmapper) - Map nested structures onto PHP classes (PHP) 329 | * [SassyJSON](https://github.com/HugoGiraudel/SassyJSON) - Sass-powered API. (Sass) 330 | * [json.human.js](http://marianoguerra.github.io/json.human.js/) - A small library to convert a JSON object into a human readable HTML representation that is easy to style for different purposes. 331 | * [JSONtoFoundation](https://github.com/fmscode/JSONtoFoundation) - OS X utility that converts a JSON object to a Foundation object that can be used in Cocoa/Cocoa Touch development. (Swift) 332 | * [fanci](https://github.com/liip/fanci) - Extract, rename and transform JSON based on a template. (node.js) 333 | * [Pinch](https://github.com/Baggz/Pinch) - String.replace for JavaScript objects. (Javascript) 334 | * [deepjson](http://deepjson.jacoborus.codes/) - A better way to load big json config files. (node.js) 335 | * [jsontl](https://github.com/DoublePrecisionSoftware/jsontl) - allow transformation using a JSON-based transformation language. (node.js) 336 | * [json-transforms](https://github.com/ColinEberhardt/json-transforms) - A recursive, pattern-matching, approach to transforming JSON structures. 337 | * [normalizr](https://github.com/paularmstrong/normalizr) - Normalizes nested JSON according to a schema. (Javascript) 338 | * [JSON-populate](https://github.com/eiriklv/json-populate) - Tool for populating JSON data with infinitely recursive circular references. Sort of like Falcor, but for plain JSON. 339 | * [CircularJSON](https://github.com/WebReflection/circular-json) - JSON does not handle circular references. Now it does. 340 | * [Sawmill](https://github.com/logzio/sawmill) - JSON transformation library (Java) 341 | * [nimnjs](https://github.com/nimndata/nimnjs) - JSON to nimn bidirectional converter. 342 | 343 | ## Queries 344 | * [JMESPath](http://jmespath.org/) - A query language for JSON. 345 | * [JSON Mask](https://github.com/nemtsov/json-mask) - Tiny language and engine for selecting specific parts of a JS object, hiding the rest. (Javascript) 346 | * [JSONiq](http://www.jsoniq.org/) - The JSON Query Language. 347 | * [ObjectPath](http://objectpath.org/) - The agile query language for semi-structured data. (Python) 348 | * [DefiantJS](https://www.defiantjs.com/) - Lightning-fast searches using XPath expressions, and transform using XSL. (Javascript) 349 | * [JSONSelect](https://github.com/lloyd/JSONSelect) - CSS-like selectors. (Javascript) 350 | * [JSONPath](https://goessner.net/articles/JsonPath/) - XPath implementation. (Javascript/PHP) 351 | * [searchjs](https://github.com/deitch/searchjs) - A library for filtering based on a json SQL-like language. 352 | * [json-rel](https://github.com/slurmulon/json-where) - Transparent references in JSON. 353 | * [JSONata](http://jsonata.org/) - Query and transformation language used in Node-RED, supports function expressions. 354 | 355 | ## JSON Schema Frontend components 356 | * [JSON Editor](https://github.com/jdorn/json-editor) - JSON Schema Based Editor. (jQuery) 357 | * [angular-schema-form](https://github.com/json-schema-form/angular-schema-form) - Generate forms. (AngularJS) 358 | * [JSON Schema View](https://github.com/mohsen1/json-schema-view) - An AngularJS directive for rendering JSON Schema in HTML (AngularJS) 359 | * [Angular JSON Schema Form](https://github.com/mohsen1/angular-json-schema-form) - Angular directive for making forms out of JSON Schema. (AngularJS) 360 | * [AlpacaJS](http://www.alpacajs.org) - Generates JSON Schema driven forms on top of Bootstrap, jQuery Mobile, jQuery UI and HTML (jQuery) 361 | 362 | 363 | ## JSON Schema Tools 364 | * [prmd](https://github.com/interagent/prmd) - Tools and doc generation for HTTP APIs. 365 | * [generate-schema](https://github.com/Nijikokun/generate-schema) - Effortlessly convert your JSON Object to JSON Schema, Mongoose Schema, or a Generic template for quick documentation / upstart. 366 | * [Docson](https://github.com/lbovet/docson) - Documentation for your types. 367 | * [Orderly JSON](https://github.com/lloyd/orderly) - A textual format for describing JSON compiled into JSONSchema. 368 | * [jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo) - Generates Java types and annotates those types for data-binding with Jackson 1.x or 2.x, Gson, etc. 369 | * [Matic](https://github.com/mattyod/matic) - Build tool for generating HTML documentation. 370 | * [JSON Schema + Faker](https://github.com/json-schema-faker/json-schema-faker) - Fake your schemas. 371 | * [DLL.js](https://github.com/moll/js-ddl) - Gets you a JSON Schema from PostgreSQL or SQLite3. 372 | * [JSONSchema.net](https://jsonschema.net//) - JSON Schema generator from JSON object. 373 | * [js-schema](https://github.com/molnarg/js-schema) - A new way of describing object schemas in JavaScript. It has a clean and simple syntax, and it is capable of serializing to/from the popular JSON Schema format. 374 | * [aptos](https://github.com/pennsignals/aptos) - A tool for validating data using JSON Schema and converting JSON Schema documents into different data-interchange formats. 375 | * [JSON Schema $Ref Parser](https://github.com/APIDevTools/json-schema-ref-parser) - Parse, resolve, and dereference JSON Schema $ref pointers 376 | 377 | ## JSON Schema Resources 378 | * [Understanding JSON Schema](https://spacetelescope.github.io/understanding-json-schema/) - A website aiming to provide more accessible documentation for JSON schema. 379 | * [JSON Schema Store](http://schemastore.org/json/) - A collection of popular schemas. 380 | * [Using JSON Schema](http://usingjsonschema.com/) - a Book and GitHub project, showing how JSON Schema can be used for a variety of tasks and in different programming contexts. 381 | 382 | ## JSON Schema Validators 383 | **Javascript and Node.js** 384 | * [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - Performance benchmark for Node.js validators. 385 | * [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - A validator that uses code generation to be extremely fast. 386 | * [jsen](https://github.com/bugventure/jsen) - A validator built for speed. 387 | * [themis](https://github.com/playlyfe/themis) - A blazing fast validator. 388 | * [jsck](https://github.com/pandastrike/jsck) - JSON Schema Compiled checK. 389 | * [z-schema](https://github.com/zaggino/z-schema) - validator written in JavaScript for NodeJS and Browsers. 390 | * [jjv](https://github.com/acornejo/jjv) - Javascript Library for Schema Validation. 391 | * [request-validator](https://github.com/bugventure/request-validator) - Flexible request validator middleware for express and connect. 392 | * [tv4](https://github.com/geraintluff/tv4) - Tiny Validator. 393 | * [ajv](https://github.com/epoberezkin/ajv) - The fastest validator. Supports v5/6 proposals. 394 | 395 | **Java and Kotlin** 396 | * [Medeia Validator](https://github.com/worldturner/medeia-validator) - Compliant (draft-04/06/07) and fast streaming validator written in Kotlin 397 | 398 | **PHP** 399 | * [JSON Schema for PHP](https://github.com/justinrainbow/json-schema) - PHP implementation of JSON schema. 400 | * [JSON Guard](https://json-guard.thephpleague.com) - A validator for JSON Schema Draft 4. 401 | 402 | **Python** 403 | * [jsonschema](https://github.com/Julian/jsonschema) - Python implementation of jsonschema. 404 | * [JSON Schema Toolkit](https://github.com/petrounias/json-schema-toolkit) - Programmatic building of JSON schemas (recursive field mappings) with validation, a Django JSON Field, and native PostgreSQL JSON type constraints. 405 | 406 | **Ruby** 407 | * [Ruby JSON Schema Validator](https://github.com/ruby-json-schema/json-schema) - validating against a JSON schema conforming to JSON Schema Draft 4. 408 | 409 | ## Contribute 410 | Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) first. 411 | 412 | ## License 413 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 414 | --------------------------------------------------------------------------------