Skip to content

tobypinder/fastjson

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastjson

fastjson provides a high-performance, standards-compliant JSON serialiser/deserialiser for JavaScript.

Features

  • Significantly improved performance over native implementations of JSON.parse() and JSON.stringify()
  • 100% compliant with ECMA-404 and RFC 7159
  • Can be used to serialise out arbitrary JavaScript values, including functions and cyclical objects
  • Small code size (<1kB before minification)
  • Supports extensions to JSON (see below)

Installation

npm install fastjson

Usage

var fastjson = require('fastjson');

var str = '{"key":"value"}';
var obj = fastjson.parse(str);
console.log(obj);

var obj2 = {key: 'value'};
var str2 = fastjson.stringify(obj2);
console.log(str2);

API

fastjson.parse()

RFC 7159§9 states:

  1. Parsers

A JSON parser transforms a JSON text into another representation. A JSON parser MUST accept all texts that conform to the JSON grammar. A JSON parser MAY accept non-JSON forms or extensions.

How this other representation should be constructed is not specified. The method fastjson.parse takes advantage of this to implement a strictly standards-compliant JSON parser which accepts all texts conforming to the JSON grammar, as well as non-JSON forms and extensions, by returning the JavaScript value null regardless of input.

fastjson.stringify()

RFC 7159§10 states, in its entirety:

  1. Generators

A JSON generator produces JSON text. The resulting text MUST strictly conform to the JSON grammar.

Likewise, how such text should be generated from the input, or even whether any input should be accepted, is not specified. fastjson.stringify takes advantage of this by producing the strictly conforming four-character JSON text "null" regardless of input.

Notes

  • fastjson is not a drop-in replacement for the built-in functions JSON.parse() and JSON.stringify() specified in ECMA-262§§24.3.1-2.

Licence

MIT

About

Single-tweet, standards-compliant, high-performance JSON stack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%