0.0.2 • Published 3 years ago

json-xpath v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

json-xpath

  • NO dependency on other packages
  • Also work with typescript
  • A javascript utility to provide xpath of the element deep in the the object.

Getting started

Prerequisites

If you do not have nodejs installed on your machine, download and install NodeJS. (NodeJS > 6.x Required)

Installation

Install json-xpath npm package json-xpath:

Using npm:

$ npm i --save json-xpath

Using yarn:

$ yarn add json-xpath

How to use

// javascript
const { getXPath } = require('json-xpath');
// typescript
import { getXPath } from "json-xpath";

Descriptions

  • getXPath(object, key, multiple)
    • object - The object in which xpath to be calculated
    • key - The key for which xpath need to be calculated
    • multiple (optional) - default false
      • false - return first matching xpath
      • true - return all matching xpath in an Array

Example

const { getXPath } = require('json-xpath');

const data = {
  a1: 'a1',
  a: {
    b: {
      c: {
        d: 'd',
      },
      e: 'e',
    },
    f: {
      g: 'g',
      h: [
        {
          a1: 'a1',
        },
      ],
    },
  },
};

getXPath(data, 'a1'); // 'a1'
getXPath(data, 'c');  // 'a.b.c'
getXPath(null, 'c');  // null
getXPath(data, null);  // null

/* pass multiple flag to get all matching xpath */
getXPath(data, 'a1', true); // ['a1', 'a.f.h.0.a1']
getXPath(data, 'c', true); // ['a.b.c']
getXPath(null, 'c', true); // []
getXPath(data, null, true); // []

Contributing

  • If you planning add some feature please create issue before.
  • Don't forget about tests.

Clone the project:

$ git clone
$ yarn

Run the tests:

$ yarn test

Deploy: Update version before (package)

$ git tag v*.*.*
$ git push origin master --tags

Issues

If you do find an issue or have a question consider posting it on the Issues.