Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.3 KB

README.rst

File metadata and controls

38 lines (27 loc) · 1.3 KB

pyjson5

A Python implementation of the JSON5 data format.

JSON5 extends the JSON data interchange format to make it slightly more usable as a configuration language:

  • JavaScript-style comments (both single and multi-line) are legal.
  • Object keys may be unquoted if they are legal ECMAScript identifiers
  • Objects and arrays may end with trailing commas.
  • Strings can be single-quoted, and multi-line string literals are allowed.

There are a few other more minor extensions to JSON; see the above page for the full details.

This project implements a reader and writer implementation for Python; where possible, it mirrors the standard Python JSON API for ease of use.

This is an early release. It is not well-tested, and has not been tuned for performance.

Known issues

  • Despite what is written above, unquoted object keys cannot be just any ECMAScript identifier; they must start with either an ASCII letter ([a-zA-Z]), '$', or '_'. and contain only ASCII letters, '$', '_', or digits. Support for unicode letter classes is issue 4 and support for escape sequencese is issue 5.