Giter Site home page Giter Site logo

jaxn's Introduction

Welcome to JAXN

JAXN (pronounced "Jackson") is a standard that carefully extends JSON with a few often-required additions to the data model, and with new syntax that makes it more human friendly.

JAXN IS CURRENTLY WORK-IN-PROGRESS

Until version 1.0 of JAXN is published, everything is considered work-in-progress, and anything might still change. Ideas, feedback and other input is welcome and appreciated. Please feel free to open an issue, or write to [email protected].

The JAXN Data Model

JAXN extends the JSON data model with the following points:

  • Allows non-finite values NaN, Infinity and -Infinity for numbers.
  • Adds a new primitive type for values representing binary data.

The JAXN Text Representation

JAXN text representation extends the JSON text representation with the following points:

Comments

  • # single-line comment
  • // single-line comment
  • /* block comment */

Numbers

  • Allow a leading + sign.
  • Allow omission of leading or trailing zeros, e.g. .5, or 42..
  • Add non-finite values NaN and Infinity.
  • Add hexadecimal integer values, e.g. 0xDEADBEEF.

Strings

  • Add single-quoted strings, e.g. 'This is a "single-quote" string. No really, it is!'.
  • Add new escape sequences \', \v, \0 and \u{X...}.
  • Add multiline strings with no escape sequences.
  • Add concatenation of strings, e.g. "Hello," + " world!".

Binary Data

  • New primitive type that can represent arbitrary byte sequences.
  • Two syntactical variants that can be concatenated with each other.
  • Hexdumped binary, e.g. $48656c6c6f2c20776f726c6421.
    • Allows optional dots, e.g. $48.65.6c.6c.6f.2c.20.77.6f.72.6c.64.21.
  • Binary strings, e.g. $"Hello, \x77orld!".
    • Only printable ASCII characters allowed, no control characters.
    • No \uXXXX or \u{...} escape sequences allowed, instead:
    • Add \xXX for arbitrary byte values.

Unquoted Object Keys

  • Allow unquoted object keys, e.g. { foo: "Hello", bar: 42 }.

Trailing Comma

  • Allow [1,2,3,] and { foo: "Hello", bar: 42, }.

More information

Libraries implementing JAXN

Copyright (c) 2017-2018 Daniel Frey and Dr. Colin Hirsch

jaxn's People

Contributors

d-frey avatar colinh avatar

Stargazers

Maxwell Bloch avatar Jonan CM avatar Fermín Olaiz avatar Basel Ajarmah avatar Lungoupao Khongsai avatar Brynjard Øvergård avatar Andrey avatar Kuba Sunderland-Ober avatar Onur Orkun KADER avatar Simran avatar Otto Fowler avatar Alexandre Larouche avatar Fabian avatar Andrew Prentice avatar Jan Christoph Uhde avatar Sébastien Demanou avatar  avatar Jesse Talavera avatar  avatar

Watchers

 avatar Jan Christoph Uhde avatar James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.