npm 包 @calmdownval/json-pointers 使用教程

阅读时长 9 分钟读完

简介

在前端开发中,很多时候我们需要处理复杂的 JSON 数据。而 @calmdownval/json-pointers 就是一款用于处理 JSON 数据的 npm 包。该包基于 JSON 指针标准规范 RFC 6901,提供了方便快捷的 API,能够轻松地从 JSON 数据中获取、设置、删除数据,并支持通配符等高级操作。

安装

可以通过 npm 安装 @calmdownval/json-pointers:

使用

获取数据

假设我们有下面这个 JSON 数据:

-- -------------------- ---- -------
-
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
-

那么我们可以通过 @calmdownval/json-pointers 提供的 API 来获取其中的某个数据:

-- -------------------- ---- -------
----- - -------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

----- --- - -------------- --------
----------------- -- --

----- ---- - -------------- -----------------
------------------ -- --------

----- ------ - -------------- --------------
-------------------- -- - ------- ---------- ------ -- -

设置数据

我们也可以使用 @calmdownval/json-pointers 来设置 JSON 数据中的某个值:

-- -------------------- ---- -------
----- - -------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

-------------- -------- ---------
----------------------- -- -----

-------------- ------------------ -------
---------------------------------- -- ---

-------------- ------------- ------------
-------------------------- -- ----------- ---------- ----------- -----------

其中,setValue 第三个参数为具体要设置的值。

删除数据

和获取、设置数据一样,@calmdownval/json-pointers 也提供了删除数据的方法:

-- -------------------- ---- -------
----- - ----------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

----------------- --------------
-------------------------- -- -- ------- ---------- ------ -- --

通配符

除了基础的操作之外,@calmdownval/json-pointers 还支持使用通配符来匹配 JSON 数据中的多个值。

*

“*” 匹配 JSON 数据中所有的值:

-- -------------------- ---- -------
----- - ---------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

----- --------- - ---------------- ------
----------------------- -- --------- --- ----------- ---------- ------------ ----------- -------- ------- ----------- --------- ----- ---- ----- --------- ------ ------ ---- -------- ---------- ------ -----

**

“**” 匹配 JSON 数据中所有的值,并且递归地匹配所有子节点:

-- -------------------- ---- -------
----- - ---------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

----- --------- - ---------------- -------
----------------------- -- --------- --- ---------- ---------- ----------- -------- ----------- ----- ---- ---- ------ --- ---------- ---

..

“..” 匹配 JSON 数据中所有的值,并且递归地匹配所有子节点(不包括根节点):

-- -------------------- ---- -------
----- - ---------- - - --------------------------------------

----- ---- - -
  ------- --------
  ------ ---
  ---------- -
    ----------
    ----------
    ----------
  --
  ---------- -
    ---------- --------
    ------- -----------
    --------- ----- ---- ---
  --
  ---------- -
    -
      ------- ------
      ------ --
    --
    -
      ------- ----------
      ------ --
    -
  -
--

----- --------- - ---------------- -------
----------------------- -- --------- --- ---------- ---------- ----------- -------- ----------- ----- ---- ---- ------ --- ---------- ---

总结

@calmdownval/json-pointers 是一款非常实用的 npm 包,在处理复杂的 JSON 数据时能够提供帮助。它支持基本的获取、设置、删除数据,以及高级的通配符匹配功能,能够大大提高开发效率。在使用时需要注意,@calmdownval/json-pointers 仅适用于浅层的 JSON 数据,不能处理嵌套过深的数据。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006734f890c4f7277583861

纠错
反馈