Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lloyd/JSONSelect
CSS-like selectors for JSON
https://github.com/lloyd/JSONSelect
Last synced: about 2 months ago
JSON representation
CSS-like selectors for JSON
- Host: GitHub
- URL: https://github.com/lloyd/JSONSelect
- Owner: lloyd
- License: isc
- Created: 2011-05-13T12:03:48.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2021-08-31T16:43:14.000Z (over 3 years ago)
- Last Synced: 2024-04-12T23:05:05.883Z (8 months ago)
- Language: JavaScript
- Homepage: http://jsonselect.org
- Size: 518 KB
- Stars: 1,590
- Watchers: 33
- Forks: 128
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-data-ui - JSONSelect - like selectors for JSON (misc. related tools/libraries)
README
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](http://jsonselect.org) or the [documentation](https://github.com/lloyd/JSONSelect/blob/master/JSONSelect.md).## 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](http://sizzlejs.com/)). 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:
* [Documentation](https://github.com/lloyd/JSONSelect/blob/master/JSONSelect.md) which describes the language
* The [jsonselect.org](http://jsonselect.org) [site source](https://github.com/lloyd/JSONSelect/blob/master/site/)
* A [reference implementation](https://github.com/lloyd/JSONSelect/blob/master/src/jsonselect.js) in JavaScript## Related projects
Conformance tests are broken out into a [separate
repository](https://github.com/lloyd/JSONSelectTests) and may be used
by other implementations.