Skip to content

ashphy/jsonpath-js

Repository files navigation

jsonpath-js

GitHub License NPM Version Link Checker

Warning

This library is still in its initial development stage, so please be aware that the API is subject to change.

An implementation of RFC 9535 JSONPath

Features

  • 100% Compatible with RFC 9535

Supported Runtimes

  • Node v20+
  • Deno v2+
  • Bun v1.2+

Install

npm install jsonpath-js

Usage

import { JSONPathJS } from "jsonpath-js";

const query = new JSONPathJS("$.users[*].name");
const result = query.find({
  users: [{ name: "John Doe" }, { name: "Jane Doe" }],
});

// [ 'John Doe', 'Jane Doe' ]
console.log(result);


const pathResult = query.paths({
	users: [{ name: "John Doe" }, { name: "Jane Doe" }],
});

// [
// 	{ value: "John Doe", path: "$['users'][0]['name']" },
// 	{ value: "Jane Doe", path: "$['users'][1]['name']" },
// ];
console.log(pathResult);

Contributing

Please read the contributing guide.