2016-09-20 3 views
-1

Пример JSON:JSON массив строк Foreach

{ 
    "name": "Size", 
    "options": [ 
    "S", 
    "M", 
    "L" 
    ] 
} 

Я не понимаю, почему options обрабатывается как строка, как SML и Еогеасп не работает

РЕШИТЬ:

Вместо сделанный для foreach Я использовал a для

const jsonData = '{"name": "Size","options": ["S","M","L"]}' 
const data = JSON.parse(jsonData) 

// Foreach not be used in array of strings, this was the error 
//data.options.forEach((option) => { 
// 
//}) 

// For works fine 
for (const i = 0; i < data.options.length; i++) { 
    const option = data.options[i] 
} 
+2

показать нам свой код здесь, поэтому мы знаем, где ошибка .. –

+0

Я не вижу проблемы! – Pugazh

+0

Вопросы, требующие помощи по отладке («** почему этот код не работает? **») должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – Andreas

ответ

0

Это, кажется, работает нормально:

var json = `{ 
    "name": "Size", 
    "options": [ 
    "S", 
    "M", 
    "L" 
    ] 
}`; 

var obj = JSON.parse(json); 
console.log(obj.options); 

См DEMO.

Вы не показываете, как вы разбираете его, как вы получаете доступ к массиву obj.options, что вы получаете и чего ожидаете. Невозможно рассказать вам, что не так с вашим кодом, который вы не показываете. JSON в порядке, и я показал вам правильный способ анализа, который работает так, как ожидалось.

Смежные вопросы