NPM 包 getsub 使用教程

在前端开发中,获取远程数据是非常常见的需求。而在实际开发中,我们不得不面对复杂多变的请求返回数据,其中又以 JSON 格式的数据最为普遍。不过,有时候我们需要获取其中某一个节点,而并不想手动去遍历 JSON 树形结构。那该怎么办呢?对此,我们可以使用 NPM 包 getsub。

getsub 是一个能够轻松获取给定 JSON 节点的 NPM 包,本篇文章就将为大家详细介绍如何使用它。

安装 getsub

首先,我们需要安装 getsub。在命令行界面中,输入以下命令即可完成安装:

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

使用 getsub

使用 getsub 分为两步:第一步是将要获取的 JSON 数据转化为对象,第二步则是调用 getsub 方法获取节点。下面,我们将一步步介绍如何使用 getsub。

创建 JSON 数据

假设我们现在有以下这段 JSON 数据(从一个 API 中请求得到的):

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

将 JSON 数据转化为对象

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

或者,如果你是将数据从远端服务器中请求得到,可以这样:

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

获取指定的节点

getsub.best() 方法可以用来获取所有的节点,不过,getsub.best() 是不建议使用的,因为你将会失去在获取属性时的容错性和可维护性。

更好的做法是使用 getsub() 方法,并将需要获取的节点名传递给它,示例代码如下所示。

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

在上面的代码中,节点名 address.city 必须由键名和属性名二者组成,中间用一个点号 (.) 隔开。如果你需要获取更深层节点,指定更长的节点名即可。当然,如果节点名过长,这会显得非常冗长,不利于维护。在这种情况下,你可以使用别名。

使用别名

通过使用 setAlias() 方法,我们可以轻松将一个节点名转化为别名。setAlias() 方法接受一个键名和对应的别名作为参数,我们来看看示例代码。

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

现在我们已经将节点名 address.city 转化为了别名 city,下一步就是调用 getsub() 方法并使用别名获取指定的节点。

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

节点不存在时的容错

当查询 getsub() 方法未能找到指定节点时,将无法返回任何信息,这将会导致某些代码的异常终止。为了避免这样的问题,我们需要使用精灵方法 guard()。

guard() 方法接受一个节点名以及可选的默认值作为参数。如果没有找到指定的节点,guard() 方法将返回一个提供的默认值。示例代码如下所示。

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

在上面的示例代码中,如果节点 address.zip 不存在,将返回默认值 0。

总结

到这里,我们已经详细介绍了如何使用 getsub 包来获取 JSON 中的节点。通过 setAlias() 方法或使用 guard() 方法,我们可以轻松地优化和维护我们的代码。希望本篇文章能够帮助你更轻松地处理 JSON 数据。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600557f081e8991b448d5063


猜你喜欢

  • npm 包 restart_all_suppliers 使用教程

    在前端开发过程中,我们常常需要使用各种开源的工具和库。而 npm 就是这个开源社区中最受欢迎的一个,我们可以从 npm 中获取到各种各样的工具和库,从而简化我们的开发过程。

    2 年前
  • npm 包 devel-escape-xss 使用教程

    在前端开发中,我们常常需要处理用户输入的数据,防止一些恶意代码被注入到我们的应用程序中。XSS(跨站脚本攻击)就是一种常见的攻击方式,它利用少量的 JavaScript 代码来执行恶意操作。

    2 年前
  • npm 包data-processor使用教程

    简介 data-processor 是一个功能强大的npm包,它可以帮助开发者更方便地处理和转换数据。使用 data-processor,我们可以在项目中快速实现数据的结构化、变换和提取,以满足不同场...

    2 年前
  • npm 包 rutilus-observer-web-js 使用教程

    简介 rutilus-observer-web-js 是一个轻量级的前端观察者模式库,它可以快速帮助开发者实现事件传播和监听功能。该库提供了一个简洁的 API 接口,具有良好的扩展性和可用性,可以广泛...

    2 年前
  • npm 包 nodebb-plugin-onesignal 使用教程

    在现代网站和应用程序中,推送通知已成为必不可少的功能。NodeBB 可以很方便地通过 npm 包 nodebb-plugin-onesignal 来添加 Push Notification 功能。

    2 年前
  • npm 包 generator-es-next 使用教程

    简介 generator-es-next 是一个 npm 包,主要用于帮助开发者快速创建 ES6/ES7 代码库的结构。它具有以下主要特点: 采用 ES6/ES7 规范 使用了最新的构建工具和技术,...

    2 年前
  • npm 包 `rrrouter-provider-history` 使用教程

    简介 rrrouter-provider-history 是一个 React Router v4 的 history provider。它使用 HTML5 的 history API 来实现无刷新页面...

    2 年前
  • npm 包 rrrouter-provider-redux 使用教程

    什么是 rrrouter-provider-redux? rrrouter-provider-redux 是一个使用 React Router 和 Redux 的路由提供者,它可以让我们更方便地在 R...

    2 年前
  • npm 包 protractor-cucumber-framework-sharded-tests 使用教程

    简介 protractor-cucumber-framework-sharded-tests 是一个基于 protractor 和 cucumber 的 npm 包。

    2 年前
  • npm 包 debug-cf 使用教程

    简介 debug-cf 是一个基于 debug 的 Node.js 调试工具,它支持在当前工程中查看特定模块的日志,适合于 Node.js 和浏览器端的调试。 debug-cf 提供了一种简单而强大的...

    2 年前
  • npm 包 techn 使用教程

    在现代的前端开发中,使用现有的工具包和库是非常重要的。而 npm 是当前最流行的 JavaScript 包管理器之一,其中有数以万计的可用包供您使用。其中一个非常有用的包是 techn。

    2 年前
  • npm 包 cordova-plugin-allow-backup 使用教程

    在开发基于 Cordova 的移动应用程序时,备份和恢复数据是非常重要的一件事情。但是,在某些情况下,为了保护用户数据的安全,您可能需要禁用备份。此时,您可以使用 cordova-plugin-all...

    2 年前
  • npm 包 bfk-wing-blank 使用教程

    前言 在现代前端开发中,我们经常需要使用到各种开源的 npm 包来提高开发效率,其中 bfk-wing-blank 是一款用于生成无规则阴影背景图案的 npm 包。

    2 年前
  • npm 包 enfspatch-promise 使用教程

    前端工程化在日益普及,npm 成为了前端开发中不可或缺的一部分。在使用 npm 进行开发时,我们经常会遇到需要对本地文件进行读写的场景。而 enfspatch-promise 就是一个非常方便的 np...

    2 年前
  • npm 包 nice-time 使用教程

    引言 随着前端技术的不断发展,我们可以使用越来越多的工具来提高我们的开发效率。其中,在项目中使用 npm 包已成为一种不可或缺的方式。在本文中,我将介绍一个使用 npm 包 nice-time 的教程...

    2 年前
  • npm包destring使用教程

    什么是destring destring是一个基于JavaScript的npm包,旨在帮助开发者处理字符串转换问题。在前端开发中,我们经常会遇到需要将字符串变成数字的情况,而destring就是专门解...

    2 年前
  • npm 包 jwt-verify 使用教程

    在前端开发中,我们通常需要进行用户认证,而 JSON Web Token(JWT)已成为现今最常用的一种用户认证方式。JWT 是一种轻量级的、基于 Web 标准的认证协议,其使用者无需传递敏感信息,单...

    2 年前
  • nativescript-ogg-vorbis npm 包的使用教程

    在前端开发时,我们经常会用到音频文件。而 nativescript-ogg-vorbis 是一个常用的 npm 包,用于在 NativeScript 应用中播放 Ogg Vorbis 格式的音频文件。

    2 年前
  • npm 包 package-alt-yaml 使用教程

    在前端开发中,我们经常使用到第三方库和插件。其中,npm(Node Package Manager) 是一个非常重要的工具,能够帮助我们快速、方便地引入和管理库和插件。

    2 年前
  • npm 包 randpw 使用教程

    前言 在前端开发过程中,我们经常需要生成随机密码,例如用户注册时自动生成密码。npm 上有一个非常好用的工具包 randpw,可以帮助我们快速生成密码。本文详细介绍 npm 包 randpw 的使用方...

    2 年前

相关推荐

    暂无文章