Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

CSS-like selectors for JSON

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 site
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .gitmodules
Octocat-spinner-32 JSONSelect.md
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 package.json
README.md

JSONSelect is EXPERIMENTAL, ALPHA, etc.

JSONSelect defines a selector language similar to CSS intended for JSON documents. For an introduction to the project see jsonselect.org or the documentation.

Project Overview

JSONSelect is an attempt to create a selector language similar to CSS for JSON objects. A couple key goals of the project's include:

  • intuitive - JSONSelect is meant to feel like CSS, meaning a developers with an understanding of CSS can probably guess most of the syntax.
  • expressive - As JSONSelect evolves, it will include more of the most popular constructs from the CSS spec and popular implementations (like sizzle). A successful result will be a good balance of simplicity and power.
  • language independence - The project will avoid features which are unnecessarily tied to a particular implementation language.
  • incremental adoption - JSONSelect features are broken in to conformance levels, to make it easier to build basic support and to allow incremental stabilization of the language.
  • efficient - As many constructs of the language as possible will be able to be evaluated in a single document traversal. This allows for efficient stream filtering.

JSONSelect should make common operations easy, complex operations possible, but haughtily ignore weird shit.

What's Here

This repository is the home to many things related to JSONSelect:

Related projects

Conformance tests are broken out into a separate repository and may be used by other implementations.

Something went wrong with that request. Please try again.