Skip to content

srcagency/pull-json-parse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON parse for pull-streams

The primary goal is to parse ndjson (newline delimited JSON) in a simple and efficient way.

However it also supports opening and closing brackets and commas which is useful when working with an API that maintains backwards compatibility with JSON.parse while allowing newline delimited parsing. In this case, the format has to be strictly: [\n<item>,\n<item>\n].

See pull-json-stringify for producing either pure ndjson or JSON.parse-compatibel newline delimited JSON, both parsable with this package.

const pull = require('pull-stream');
const parse = require('pull-json-parse');

pull(
	pull.values([
		'{ name: 'Juliet', age: 22 }\n',
		'{ name: 'Romeo', age: 23 }\n',
	]),
	parse,
	pull.collect(( err, json ) => console.log(json))
	/*
	[ { name: 'Juliet', age: 22 }, { name: 'Romeo', age: 23 } ]
	*/
);

pull(
	pull.values([
		'[\n',
		'{ name: 'Juliet', age: 22 }\n',
		'{ name: 'Romeo', age: 23 }\n',
		']',
	]),
	parse,
	pull.collect(( err, json ) => console.log(json))
	/*
	[ { name: 'Juliet', age: 22 }, { name: 'Romeo', age: 23 } ]
	*/
);

pull(
	pull.values([
		'{',
		'"name"',
		':"Juli',
		'et","age"',
		':22',
		'}\n{"name":"Romeo",',
		' "age":23}',
	]),
	parse,
	pull.collect(( err, json ) => console.log(json))
	/*
	[ { name: 'Juliet', age: 22 }, { name: 'Romeo', age: 23 } ]
	*/
);

About

JSON.parse for pull-streams

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published