我有一个如下的json
"facet_counts": {
"facet_pivot": {
"title,host,content,anchor,id": [
{
"field": "title",
"value": "biglobe",
"count": 192
}
]
}}像往常一样,我会像这样解析它:
var json = JSON.parse(xhr.responseText);
var field = json.facet_counts.facet_pivot.title,host,content,anchor,id[0].field;但这是错误的。
你能告诉我如何解析属性"title,host,content,锚,id“吗?
发布于 2013-12-06 17:08:01
有两种方法可以访问对象的属性:
obj.prop -点括号- notationobj['prop']符号当JS解释器被属性名称的某些部分(在您的示例中为,)搞混时,您可以使用括号表示法来访问该属性:
var json = JSON.parse(xhr.responseText);
var field = json.facet_counts.facet_pivot['title,host,content,anchor,id'][0].field;This answer很好地总结了标识符命名限制:
标识符必须以
$、_或“Uppercase letter (Lu)”、“Lowercase letter (Ll)”、“Titlecase letter (Lt)”、“Modifier letter (Lm)”、“Other letter (Lo)”或“Letter number (Nl)”类别中的任何字符开头。
字符串的其余部分可以包含相同的字符,以及任何U+200C零宽度非拼接字符、U+200D零宽度拼接字符以及“Non-spacing mark (Mn)”、“Spacing combining mark (Mc)”、“Decimal digit number (Nd)”或“Connector punctuation (Pc)”类别中的字符。
属性可以使用任何字符串作为名称,并且在字符串与上面的描述不匹配的情况下,属性只能使用方括号表示法。如果字符串确实与描述匹配,则括号表示法和点表示法可以互换使用,尽管通常点表示法更适合使用,因为它不太冗长。
https://stackoverflow.com/questions/20419955
复制相似问题