Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jg-rp/json-p3
JSONPath, JSON Patch and JSON Pointer for JavaScript
https://github.com/jg-rp/json-p3
json jsonpatch jsonpath jsonpointer
Last synced: about 1 month ago
JSON representation
JSONPath, JSON Patch and JSON Pointer for JavaScript
- Host: GitHub
- URL: https://github.com/jg-rp/json-p3
- Owner: jg-rp
- License: mit
- Created: 2023-09-06T19:46:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-05T07:06:16.000Z (5 months ago)
- Last Synced: 2024-11-08T16:48:51.669Z (about 2 months ago)
- Topics: json, jsonpatch, jsonpath, jsonpointer
- Language: TypeScript
- Homepage: https://jg-rp.github.io/json-p3/
- Size: 3.34 MB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
JSON P3
JSONPath, JSON Patch and JSON Pointer for JavaScript.
We follow RFC 9535 and test against the JSONPath Compliance Test Suite.---
```javascript
import { jsonpath } from "json-p3";const data = {
users: [
{ name: "Sue", score: 100 },
{ name: "John", score: 86 },
{ name: "Sally", score: 84 },
{ name: "Jane", score: 55 },
],
};const nodes = jsonpath.query("$.users[[email protected] < 100].name", data);
console.log(nodes.values()); // [ 'John', 'Sally', 'Jane' ]
```## Links
- Docs: https://jg-rp.github.io/json-p3/
- Install: https://jg-rp.github.io/json-p3/#install
- JSONPath playground: https://jg-rp.github.io/json-p3/playground
- JSONPath syntax: https://jg-rp.github.io/json-p3/guides/jsonpath-syntax
- API reference: https://jg-rp.github.io/json-p3/api
- Change log: https://github.com/jg-rp/json-p3/blob/main/CHANGELOG.md
- NPM: https://www.npmjs.com/package/json-p3
- Issue tracker: https://github.com/jg-rp/json-p3/issues## Bundles
JSON P3 is written in TypeScript, compiled to JavaScript using [Babel](https://babeljs.io/), and bundled using [Rollup](https://rollupjs.org/introduction/). The following, included bundles target `defaults, maintained node version`, as defined by [Browserslist](https://browsersl.ist/#q=defaults%2C+maintained+node+versions).
JSON P3 has zero runtime dependencies.
| Bundle | Description |
| --------------------- | -------------------------------------------------------------------------- |
| `json-p3.cjs.js` | A CommonJS formatted bundle. |
| `json-p3.esm.js` | An ECMAScript module formatted bundle. |
| `json-p3-iife.js` | A bundle formatted as an Immediately Invoked Function Expression. |
| `json-p3-iife.min.js` | A minified bundle formatted as an Immediately Invoked Function Expression. |## Compliance Environment Variables
These environment variables control the location of the compliance test suite under test and if nondeterministic object iteration is enabled for those tests.
| Environment Variable | Description |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `JSONP3_CTS_PATH` | The path to `cts.json` used by `compliance.test.ts`. Defaults to `tests/path/cts/cts.json`. |
| `JSONP3_CTS_NONDETERMINISTIC` | When set to `true`, enables nondeterministic iteration of JSON objects for `compliance.test.ts`. Defaults to `false`. |## Contributing
Please see [Contributing to JSON P3](https://github.com/jg-rp/json-p3/blob/main/CONTRIBUTING.md)
## License
`json-p3` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.