json-p3
v1.3.4
Published
JSONPath, JSON Pointer and JSON Patch
Downloads
7,812
Maintainers
Readme
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, and bundled using Rollup. The following, included bundles target defaults, maintained node version
, as defined by Browserslist.
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
License
json-p3
is distributed under the terms of the MIT license.