使用整数作为键访问 JSON

Accessing JSON with integers as keys

JSON 看起来像这样:

"awards": [
   "awardsAtLevel": {
       "1": "Gold",
       "3": "Gold",
       "5": "Gold",
       "7": "Gold"
   }
]

所以我假设我应该只使用括号语法:

...awards.awardsAtLevel["1"]

但是这个获取不到数据

我的完整数组如下所示:

{
   "data": [
      {
      "awards": [
            "awardsAtLevel": {
               "1": "Gold",
               ...
            }
         ]
      }
   ]
}

我试过:

...awardsAtLevel["1"].text

同样,但这也不起作用。

awards.awardsAtLevel 

打印整个数组。

上下文是我正在获取数据以在 bootstrap vue 中制作 b-table:

<template v-slot:cell(dmg)="rewards">
        {{rewards.item.awards.awardsAtLevel["1"] && rewards.item.awards.awardsAtLevel["1"] ? rewards.item.awards.awardsAtLevel["1"]: ""}}
</template>

另外,很抱歉,如果这是一个常见问题。我找不到括号符号不起作用的其他问题。

你的JSON结构无效,应该是

"awards": {
   "awardsAtLevel": {
       "1": "Gold",
       "3": "Gold",
       "5": "Gold",
       "7": "Gold"
   }
}

(使用大括号,不是平方)

要显示数据,您可以这样做:

{{ awards.awardsAtLevel["1"] }}

Demo here