javascript - 解析属性键中包含特殊字符的 JSON 对象

标签 javascript json

我有一个看起来像这样的 JSON 文件

{
    "samlp:Response": {
        "@attributes": {
            "xmlns:samlp": "urn:oasis:names:tc:SAML:2.0:protocol",
            "ID": "_482d7b9c-3e50-47cb-aa64-4e3655352c64",
            "Version": "2.0",
            "IssueInstant": "2019-06-27T17:02:47.711Z",
            "Destination": "https://jjds-sunrise--cqsupport--c.cs102.visual.force.com/apex/ResponseReceiver",
            "InResponseTo": "Azure_9849028456"
        }
    }
}

尝试使用正常方式解析此 JSON 时,即

jsonObject.samlp:Response.@attributes.ID

其中 jsonObject 是我为此 JSON 创建的对象。我收到一条错误消息

"unexpected token :"

.我做错了吗,还是有其他方法可以解析它?

最佳答案

看看 Property Accessors 。请考虑以下事项:

const jsonObject = {
  "samlp:Response": {
    "@attributes": {
      "xmlns:samlp": "urn:oasis:names:tc:SAML:2.0:protocol",
      "ID": "_482d7b9c-3e50-47cb-aa64-4e3655352c64",
      "Version": "2.0",
      "IssueInstant": "2019-06-27T17:02:47.711Z",
      "Destination": "https://jjds-sunrise--cqsupport--c.cs102.visual.force.com/apex/ResponseReceiver",
      "InResponseTo": "Azure_9849028456"
    }
  }
};


console.log(jsonObject["samlp:Response"]["@attributes"].ID);

关于javascript - 解析属性键中包含特殊字符的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56801172/

相关文章:

javascript - 使用 HTML5 和 Javascript 在鼠标移开时重置视频

javascript - AJAX 方法 Jquery 无法返回数据

c# - 自定义 JSON 转换为 C# 对象

mysql - 如何在 MySQL 数据库中存储音阶

javascript - 在 npm 包的 index.js 中导出后为 "TypeError: <class> is not a constructor"

javascript - jQuery 单击事件在页面上不起作用,但它们在 jsFiddle 上起作用

javascript - 在javascript中检索json对象的值

ruby-on-rails - Rails + Postgres JSON 字段和 update_column

javascript - 如何使用 JSON 为交互式 Backbone.js 应用程序提供支持

javascript - 如何从 mysql 获取值,返回到前端并在 url 中使用