当字符串包含破折号时,我无法从json对象中检索值:
{
"profile-id":1234, "user_id":6789
}
如果我尝试引用已解析的jsonObj.profile-id
,它将返回ReferenceError: "id" is not defined
,但jsonObj.user_id将返回6789
我没有办法修改外部api调用返回的值,并且试图解析返回的字符串以删除破折号也会破坏传递的urls等。帮助?
发布于 2012-12-14 06:31:07
jsonObj.profile-id
是一个减法表达式(即jsonObj.profile - id
)。
要访问包含不能出现在标识符中的字符的密钥,请使用括号:
jsonObj["profile-id"]
发布于 2019-09-01 22:48:30
除了this answer之外,请注意,在Node.js中,如果使用数组语法[]
访问JSON,则所有嵌套的JSON键都应该遵循该语法
走错路了
json.first.second.third['comment']
并且will会给你一个“未定义”的错误。
这是正确的方式
json['first']['second']['third']['comment']
发布于 2018-11-21 19:05:57
对于ansible,使用连字符,这对我很有效:
- name: free-ud-ssd-space-in-percent
debug:
var: clusterInfo.json.content["free-ud-ssd-space-in-percent"]
https://stackoverflow.com/questions/13869627
复制相似问题