我们如何从JSON响应访问连字符包含的数据?

时间:2019-03-17 08:01:28

标签: javascript arrays json object vue-component

我正在使用vuejs和axios,我试图从wordpress上获取博客帖子,除一件事外,其他一切都正常运行,我试图从响应中提取缩略图,但是响应数据包含连字符,因此我无法访问该对象,显示错误。这是我要访问的内容

family._embedded['wp:featuredmedia']['0'].media_details.sizes.family-profile-thumb.source_url

这里family是一个道具,family-profile-thumb是特定的大小,我无法改变这一点,这会造成问题,如果我将其替换为默认大小(如thumb),它将起作用,例如:

family._embedded['wp:featuredmedia']['0'].media_details.sizes.thumbnail.source_url

有没有办法完成这项工作?

2 个答案:

答案 0 :(得分:1)

使用方括号符号进行访问:

family._embedded["wp:featuredmedia"]["0"].media_details.sizes["family-profile-thumb"].source_url

答案 1 :(得分:0)

只要属性名称不是有效的JS标识符,就需要使用[]括号符号来访问该属性。

  

什么是有效的JS标识符?

  • 商品名称不能以digit开头,例如-> 1d
  • alphanumeric, underscore and $以外的其他内容均无效e.g -> 'hello-world'

let a = {
  "hello-world" : 'some value'
}

console.log(a['hello-world'])
console.log(a.hello-world)

您可以在此处阅读更多信息MDN reference