У меня есть следующий фид данных JSON:
jQuery191029421305245357143_1380819227858(
{
"responseHeader": {
"status": 0,
"QTime": 127
},
"command": "build",
"spellcheck": {
"suggestions": [
"restaurant",
{
"numFound": 1,
"startOffset": 0,
"endOffset": 10,
"suggestion": [
"restaurants"
]
},
"berl",
{
"numFound": 4,
"startOffset": 11,
"endOffset": 15,
"suggestion": [
"berlin",
"berlin brandenburg",
"berlin hamburg",
"berliner"
]
},
"collation",
"restaurant berlin",
"collation",
"restaurant (berlin brandenburg)",
"collation",
"restaurants berlin",
"collation",
"restaurant (berlin hamburg)"
]
}
}
)
и я пытаюсь получить доступ к следующим данным в JQuery:
"restaurant berlin"
"restaurant (berlin brandenburg)"
"restaurants berlin"
"restaurant (berlin hamburg)"
До сих пор у меня есть следующий код JQUERY:
success: function( data ) {
response( $.map(data.spellcheck.suggestions, function(item) {
return item;
}));
который работает, но возвращает мне все значения, а не только 4 набора данных, описанных выше.
Спасибо за помощь!
В вашем обратном вызове для map
jQuery -function вы можете выполнить проверку и вернуть значение null, если вы не хотите, чтобы элемент был в результате.
Следующий фрагмент показывает пример того, как отфильтровывать все, что не является строкой, и все, что строка равна "сортировке":
success: function( data ) {
response( $.map(data.spellcheck.suggestions, function(item) {
if (typeof item != "string") return;
if (item === "collation") return;
return item;
}));