如何调用含有数字作为标识符的JSON表?

我是 Lua 的新手,最近一直尝试调用 API 来获取 JSON 表格。但是,在其中一个 JSON 表格中,它的标识符是以数字开头的。例如,一个这样的表格如下:

  "data": {
    "1001": {
        "plaintext": "item title",
        "description": "item description",
        "id": 1001
        }
      }

当我尝试解码 JSON 文件并将 "data.1001.id" 打印到控制台时,我总是得到一个错误 "malformed number near '.1001.id'"。

我看了看这个网站上的其他类似问题的答案,说要将其放在方括号中,例如 "data.[1001].id" 或 "data.[[1001]].id",但是当我这么做时,我会得到错误信息 " 'name' expected near '[[1001]]'"。

任何帮助都将不胜感激

点赞
用户7504558
用户7504558

你可以使用普通的数组元素访问方式 []:

local json = require("json")
local j=[[
{
"data": {
    "1001": {
        "plaintext": "项目标题",
        "description": "项目描述",
        "id": 1001
        }
      }
}
]]

local d = json.decode(j)
print(d.data["1001"].description)
2017-04-15 06:55:34