我跟随json:
{
"responseHeader": {
"status": 0,
"QTime": 1
},
"spellcheck": {
"suggestions": [
"a",
{
"numFound": 4,
"startOffset": 0,
"endOffset": 1,
"suggestion": [
"api",
"and",
"as",
"an"
]
},
"collation",
"api"
]
}
}
我想访问'suggestion'数组,为此我在jQuery中使用它:
$.getJSON('http://localhost:8983/solr/suggest/?q=' + query + '&wt=json&json.wrf=?', {
})
.done(function(response){
// just for testing
alert(response.spellcheck.suggestions.suggestion); // error: response.spellcheck is not defined
});
'response.spellcheck'的值显示为undefined,而'response.responseHeader'显示[object Object],我也可以访问responseHeader下的元素。但我无法弄清楚'拼写检查'的问题是什么。救命啊!
答案 0 :(得分:5)
suggestions.suggestions
无效。 suggestions
是一个数组。您需要使用[]
运算符对数组建立索引以获取特定建议。
具体而言,根据您发布的JSON,您需要suggestions[1].suggestion
。
答案 1 :(得分:1)
使用console.log打印响应然后您可以做相应的
答案 2 :(得分:0)
正确的拼写是response.spellcheck.suggestions
(您使用过suggesstions
)这是一个数组,因此您可以使用索引查看其上下文...例如:
alert(response.spellcheck.suggestions.suggestion[0]); // "a"
所以你需要:
response.spellcheck.suggestions.suggestion[1].suggestion