2016-09-21 12 views
0
var json = { 
    "responseHeader": { 
     "zkConnected": true, 
     "status": 0, 
     "QTime": 0 
    }, 
    "spellcheck": { 
     "suggestions": ["a", { 
      "numFound": 6, 
      "startOffset": 0, 
      "endOffset": 1, 
      "suggestion": ["a", "b", "c", "d", "e", "f"] 
     }] 
    } 
} 

Как получить предложение от предложений в этом json, используя javaScript?Как получить данные из вложенных объектов

+0

Покажите нам полный код – Weedoze

+0

'json.spellcheck.suggestions'? – passion

+0

'json.spellcheck.suggestions [1] .suggestion'. JSON - это всего лишь комбинация массивов и объектов. –

ответ

1

Подобно этому, если вы хотите, чтобы получить полный спектр

var allSuggestion = json.spellcheck.suggestions[1].suggestion 

или конкретного значение

var valueA = json.spellcheck.suggestions[1].suggestion[0]; 

Example Fiddle

0

Мы можем получить все предложения с помощью

var Suggestions = json.spellcheck.suggestions[1].suggestion 

Или, чтобы получить значение позиции вы можете использовать индекс из него

var Suggestions = json.spellcheck.suggestions[1].suggestion[index] 

Также вы можете применить Еогеасп цикл, чтобы получить значение или объекты.

Благодаря

0

enter image description here

Просто смотрит на картинке выше для выразительной структуры массива в объекте.

Если структура обернут {}, что указывает на его Объекта Таким образом, вы можете получить доступ к собственности на ., который содержит имя свойства и его значение (любой тип значения)

Если обернут [], которые указывают на это массив, так что вы можете доступное внутреннее значение на [<index>]. он содержит только набор значений (любой тип значения).

Здесь var json находится объект, потому что он обернут {} собственности «responseHeader» внутренний уровень, «проверка орфографии» являются объектом, потому что это структура обернут {}, НО вы смотрите на подуровне «предложения» обернут [], чтобы ее массив.

Если вы хотите получить доступ значения zkConnected так что ваш код должен быть

console.log(json.responseHeader.zkConnected); 

Если вы хотите получить доступ значения numFound так что ваш код должен быть

console.log(json.spellcheck.suggestions[1].numFound); 

Потому что в предложениях является массивом и имеют два значения: строка «a» при индексе 0, а другая - объект с индексом 1.

Если вы хотите получить доступ к «e» suggestion так что ваш код должен быть

console.log(json.spellcheck.suggestions.suggestion[4]); 

Потому что под предложениями, предложение массива и е стоит на 5 позиции, так что вы можете получить доступ к нему по индексу 4 (позиция-1)

var json = { 
    "responseHeader": { 
     "zkConnected": true, 
     "status": 0, 
     "QTime": 0 
    }, 
    "spellcheck": { 
     "suggestions": ["a", { 
      "numFound": 6, 
      "startOffset": 0, 
      "endOffset": 1, 
      "suggestion": ["a", "b", "c", "d", "e", "f"] 
     }] 
    } 
} 
Смежные вопросы