javascript - 当键具有特殊字符时访问 JSON 值

标签 javascript json angularjs url

<分区>

我有以下 JSON 对象,我将其称为 data

{
  "topalbums": {
    "album": {
      "image": [
        {
          "#text": "http:\/\/userserve-ak.last.fm\/serve\/34s\/88057565.png",
          "size": "small"
        },
        {
          "#text": "http:\/\/userserve-ak.last.fm\/serve\/64s\/88057565.png",
          "size": "medium"
        },
        {
          "#text": "http:\/\/userserve-ak.last.fm\/serve\/126\/88057565.png",
          "size": "large"
        },
        {
          "#text": "http:\/\/userserve-ak.last.fm\/serve\/300x300\/88057565.png",
          "size": "extralarge"
        }
      ]
    }
  }
}

在 Angular Controller 中,我将此 JSON 对象称为 data.topalbums.album

回到我的 HTML 页面,我尝试使用 ng-src 插入图像数组中的最后一个(第 3 个)图像:

ng-src="{{album.image[3].#text}}"

由于 # 字符,这当然会导致 angular 抛出 Lexer 错误。

我试过逃脱这个 Angular 色,但没有成功:

ng-src="{{album.image[3].%23text}}"

如何访问 JSON 对象的 image 数组中 #text 键的值?

最佳答案

您可以使用 [] 括号访问这些属性:

ng-src="{{album.image[3]['#text']}}"

https://tc39.github.io/ecma262/#sec-property-accessors

关于javascript - 当键具有特殊字符时访问 JSON 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29980428/

相关文章:

Javascript |集合中的唯一对象

javascript - 确定 Chrome 扩展免费试用何时结束

javascript - 用于导航和编辑多层对象数组的 findIndex 的替代方案

php - Paypal 请求不断收到 MALFORMED_REQUEST

javascript - json:如何将 json 字符串转换为 javascript 对象

angularjs - 混合 Angular 1.x + Angular 6 应用程序,在 Angular 1.x 中包含 vanilla JS 和 TS 文件

javascript - 在js中创建一个永久arg,如 Angular $scope

javascript - 如果输入数组值是整数类型,为什么angularjs(ng-repeat)允许在第一次添加重复记录

javascript - 动态更新浏览器窗口的高度

javascript - AngularJS 指令在使用隔离范围时不将值插入模板