【问题标题】:Javascript Can't Access an Objects Keys Values... They have quotes around themJavascript 无法访问对象键值...它们周围有引号
【发布时间】:2014-04-08 08:23:54
【问题描述】:

所以我需要访问这个对象中的键值“key”:

{
  "__v": 0,
  "_id": "5317b71c902ff0080046349f",
  "user": "530ef48599c41200009bad9f",
  "email": "asdfa@sdgdf.com",
  "btcId": "9HjBb9eUhyXMKuVxSrTSkg",
  "name": "Bitcoin Payments",
  "dlFile": "a43ca076-4802-4cca-9648-82b2569ffc60.docx",
  "key": "3518d5ce-badf-495c-a08f-dc28bb6d8a64",
  "created": "2014-03-05T23:45:32.480Z"
}

但是这段代码不起作用:

console.log(body.key) -> Undefined
console.log(body['key'] -> undefined
console.log(body['"key"'] -> undefined

body 是存储对象的地方。

我认为这与键是字符串有关吗?还是在他们周围有“”? 但是我没有创建 body 变量,所以我无法控制它......

关于如何使它工作的任何想法?

【问题讨论】:

  • The first and second should work,除非body 不是您认为的那样。试试console.log(body) 看看到底是什么。
  • 你是什么意思他们有引号,你有一个字符串或一个对象。
  • @gbachik 你有var body = { "__v": 0, "_id": "5317b71c902ff0080046349f", "user": "530ef48599c41200009bad9f", "email": "asdfa@sdgdf.com", "btcId": "9HjBb9eUhyXMKuVxSrTSkg", "name": "Bitcoin Payments", "dlFile": "a43ca076-4802-4cca-9648-82b2569ffc60.docx", "key": "3518d5ce-badf-495c-a08f-dc28bb6d8a64", "created": "2014-03-05T23:45:32.480Z" }吗?
  • 看起来你有 JSON 数据,而不是 JS 对象。如果是这样,你应该JSON.parse()它。
  • 要验证,请执行此操作console.log(typeof body);。如果是 JSON 数据,你会得到"string"

标签: javascript string variables object key


【解决方案1】:

However I'm not creating the body variable so I can't control this...

这听起来像是一个GET 请求,所以如果是JSON 数据,用JSON.parse 解析它:

console.log(JSON.parse(body).key)

【讨论】:

  • 嗯,成功了!没有意识到这是JSON数据。谢谢!
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 2014-10-22
  • 2019-01-13
  • 2018-07-15
  • 2020-07-28
相关资源
最近更新 更多