javascript - JSON 键存在但返回 false

标签 javascript json node.js

首先,我所有的代码都是在 node.js 中完成的,但这也可以应用于 javascript。

这是我用来检查键是否存在的代码,问题是它总是返回 false。所以我在 console.log 中添加以显示值是什么:

if(!choice.name || !choice.realm || !choice.region || !choice.roll){
    console.log(choice);
    console.log(choice.name);
    console.log(choice.realm);
    console.log(choice.region);
    console.log(choice.roll);
    return false;
}

这是它的输出:

{"name":"Imacactus","realm":"Velen","region":"US","roll":"DPS"}
undefined
undefined
undefined
undefined

我猜这与引号有关?但我从来没有听说过引号把它搞砸了。这是一个 node.js 问题吗?我也试过 .hasOwnProperty('realm') 但它仍然失败。

这是具有所有功能的大部分代码:http://pastebin.com/DUN9VdHr

最佳答案

您需要先将 json 解析为 javascript 对象,然后才能引用其属性。

您可以使用 JSON.parse

var choiceobj = JSON.parse(choice);
if(!choiceobj.name || !choiceobj.realm || !choiceobj.region || !choiceobj.roll){

    console.log(choiceobj);
    console.log(choiceobj.name);
    console.log(choicepbj.realm);
    console.log(choiceobj.region);
    console.log(choiceobj.roll);
    return false;

关于javascript - JSON 键存在但返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542729/

相关文章:

javascript - 获取不同 <li> 中对象的值

node.js - 使用 Mocha 测试连接 Assets 编译的 js

node.js - sequelize - 无法与 MSSQL 建立连接

javascript - 为本地 Firefox 调试启用 HTTP 地理定位

javascript - 如何监听子窗口关闭?

json - 来自字符串字段的 AWS Athena json_extract 查询返回空值

php - 数据未从 mysql json 数据类型返回

javascript - 在 Ajax 调用中解析 JSON

node.js - 用于生产的 Kibana 4 配置

javascript - 如何在html表格中应用内边框