json-tools 0.1.0

A collections of tools to handle json encoded data
docs.rs failed to build json-tools-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: json-tools-1.1.2

This library contains a collection of tools to help interacting with json encoded data.

Features

  • Simple Json Lexer
    • Without any intention of being feature complete, it is able to split ascii json data streams into their lexical tokens, keeping track of the character spans that make them up.
    • facilitates writing higher-level parsers and filters
  • Key-Value Filter
    • A utility to filter lexical tokens which belong to keys that have values of a given type. This makes it easy to re-assemble json data streams and strip them off their null values, for example.
  • TokenReader
    • An adapter to convert a stream of Tokens into a stream of bytes, supprting the Read trait.
    • Use it to convert filtered and/or manipulated token-streams back into byte-streams.
    • Configure the output style, to achieve effects like pretty-printing or strip the output of all whitespace.

Usage

Build Status

Add this to your Cargo.toml

[dependencies]
json-tools = "*"

Add this to your lib ...

extern crate json_tools;

use json_tools::Lexer;

for token in Lexer::new(r#"{ "face": "😂" }"#.bytes()) {
	println!("{:?}", token);
}

Motivation

This library may possibly never grow bigger than the two features originally mentioned, as it was created as a workaround to missing features in serde.