# JSONSelect

> CSS-like selectors for JSON

Latest version **0.4.0** (published 2012-01-27) · 0 weekly downloads

## Install

```sh
npm install JSONSelect
pnpm add JSONSelect
yarn add JSONSelect
bun add JSONSelect
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2012-01-27 |
| First published | 2011-05-22 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.4.7 |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1589 |
| Author | Lloyd Hilaiel |
| Maintainers | lloyd |

## Links

- npm: https://www.npmjs.com/package/JSONSelect
- Repository: https://github.com/lloyd/JSONSelect
- Homepage: http://jsonselect.org
- npm.io page: https://npm.io/package/JSONSelect

## Recent versions

- 0.4.0 (latest) — 2012-01-27
- 0.3.0 — 2012-01-05
- 0.2.3 — 2012-01-05
- 0.2.2 — 2011-10-25
- 0.2.1 — 2011-06-12
- 0.2.0 — 2011-06-03
- 0.1.0 — 2011-06-01
- 0.0.1 — 2011-05-22

## 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.

---
_Source: https://npm.io/package/JSONSelect · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
