无需循环直接访问 JSON 中的数组值
2014-01-23
51
我有以下 JSON:
{
"responseHeader":{
"params":{
"facet":"true",
"fl":"city",
"facet.mincount":"1",
"indent":"on",
"start":"0",
"q":["*:*",
"*:*"],
"wt":"json",
"rows":"12"}},
"response":{"numFound":1,"start":0,"docs":[
{"city":"lathum"}]
},
"facet_counts":{
"facet_fields":{
"hasphoto":[
"true",61,
"false",5],
"hasvideo":[
"false",51,
"true",15],
"rating_rounded":[
"0.0",62,
"10.0",3,
"8.0",1]},
"facet_ranges":{}}}
我想知道是否可以根据属性名称选择一个值,在我的例子中,我想选择
hasphoto
中有多少个值为
true
,即 61。
请注意,
true
值不一定是 hasphoto 下列出的第一个,
true
和
false
按出现次数排序。
我想直接获取值而不必循环遍历它....这可能吗?
我试过:
response.facet_counts.facet_fields['hasphoto']['true']
和
response.facet_counts.facet_fields.hasphoto['true']
但都返回
undefined
。
1个回答
数组是有序列表,而不是键值存储,因此
response.facet_counts.facet_fields.hasphoto[0]
返回字符串“true”,
response.facet_counts.facet_fields.hasphoto[1]
返回数字 61,
等等...
Lance
2014-01-23