如何从 NodeJS 中的 JSONObject 获取值?

Posted

技术标签:

【中文标题】如何从 NodeJS 中的 JSONObject 获取值?【英文标题】:How to get a value from JSONObject in NodeJS? 【发布时间】:2020-03-01 14:11:48 【问题描述】:

我有一个节点 js 应用程序。我使用 JSON Web 令牌进行身份验证。我将令牌拆分为 3 部分(标头、有效负载、签名)以将它们用于特定代码。

我的payload JSON对象如下图所示:

 payload= "email": "minnela@gmail.com", "iat" : "23254324", "exp": "4323456"

我需要获取“电子邮件”的值。如何在 Node.js 中获取它?

【问题讨论】:

payload.email ?将密码放在 json webtoken 中也是一个糟糕的主意 【参考方案1】:

有多种方法可以做到这一点。

最简单的方法:const payloadEmail=payload.email //minnela@gmail.com

使用 ES6 功能:const email = payload //minnela@gmail.com

使用 JS inbuild 方法将对象转换为数组:Object.values(payloadEmail) //["minnela@gmail.com","23254324","4323456"]

另一种方式是const payloadEmail=payload["email"] //minnela@gmail.com

注意:我假设您的示例负载中的命名约定,即 payload= "email": "minnela@gmail.com", "iat" : "23254324", "exp": "4323456" 与您想要的完全相同。如果它有不同的属性名称,那么您需要相应地更改名称。

【讨论】:

【参考方案2】:

您可以简单地使用payload.email

或者你可以使用对象解构

const email = payload;
console.log(email); // prints minnela@gmail.com

【讨论】:

以上是关于如何从 NodeJS 中的 JSONObject 获取值?的主要内容,如果未能解决你的问题,请参考以下文章

从 Mongoose 检索 jsonObject

如何从 JsonObject 创建 InputStream 对象

从android中的JsonObject中提取坐标

如何在 jsonobject 中设置数组值

从字符串中获取 JSONObject

如何将 JSONObject 写入 firebase 数据库节点