json-lexer
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

json-lexer

Build Status Coverage Status js-standard-style semantic-release

NPM

This is a JSON lexer based on the implementation in json3. It can split a JSON String into a list of annotated tokens. It will list whitespace as well, so it can used in-place editing of JSON documents.

Note that this doesn't check the validity of your JSON, so it will tokenize something like "token"}: happily.

var lexer = require('json-lexer')
lexer('{"hello": 1.0}')
// results in
[ { type: 'punctuator', value: '{', raw: '{' },
  { type: 'string', value: 'hello', raw: '"hello"' },
  { type: 'punctuator', value: ':', raw: ':' },
  { type: 'whitespace', value: ' ', raw: ' ' },
  { type: 'number', value: 1, raw: '1.0' },
  { type: 'punctuator', value: '}', raw: '}' } ]

types

whitespace

Allowed white space between the actual relevant tokens.

punctuator

The characters surrounding your data: {, }, [, ], : and ,

string

A JSON string "hi", not that the value will be the parsed String without "

number

A JSON number, like 1, -1 or 1e1000. The value will be the parsed number.

literal

One of the allowed literals true, false and null. The value will be the specific JS literal.

Dependents (9)

Package Sidebar

Install

npm i json-lexer

Weekly Downloads

124,590

Version

1.2.0

License

ISC

Unpacked Size

11.8 kB

Total Files

4

Last publish

Collaborators

  • finnpauls