javascript - 无法从数组中获取信息

标签 javascript arrays json api

我有一个名为 gameupdater.json 的 json 文件

gameupdater.json:

{ "730":{
    "success":true,
    "data":{
       "price_overview":{
          "currency":"EUR",
          "initial":1399,
          "final":937,
          "discount_percent":33
       }
    }
  }
}

我有一个 JavaScript 文件,其中包含以下代码:

var updater = JSON.parse(fs.readFileSync('gameupdater.json'));
var jsonstring = JSON.stringify(updater, null, 4);

var num = updater.730.data.priceoverview.initial;

console.log(num);

但是每当我在 CMD 中运行它(node bot.js)时。 它没有给我我想要的东西,即 1399。

它反而给了我这个错误:

var num = updater.730.data.priceoverview.initial;
             ^^^^

语法错误:意外的数字

哦,我很确定很难更改内容,因为该数组将从该网站自动下载: http://store.steampowered.com/api/appdetails?appids=730

最佳答案

不能使用点语法的数字。您需要使用大括号语法,并将其作为字符串访问:

updater["730"].data... 

或者,如果属性完全是数字,您也可以使用裸数字,但同样,它必须位于方括号内:

updater[730].data... 

关于javascript - 无法从数组中获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322705/

相关文章:

javascript - jQuery promise (可变数量的 promise )

javascript - 嵌套 Javascript 函数和 jQuery

json - 如何在 Go 中处理 JSON 动态键

javascript - 使用 jQuery 检查 JSON 对象中是否存在键

javascript - 处理格式不固定的 JSON 数据

javascript - Bootstrap 模式弹出窗口不关闭

javascript - 如何将自定义格式应用于.ValueFormat nvd3.js?

javascript - 在 typescript 中连接两个对象

javascript - 如何在 Javascript 中将变量作为数组名称传递到函数中

c# - C# 的 ByteArray 类