Javascript не имеет ассоциативных массивов.Эквивалентом является «хеш», как вы его называете, или объект, которым он является на самом деле.Лучшее, на что вы можете надеяться, это: {"stuff": [{"name": "fred"}, {"name": "barney"}]}
Следующее не проверено, но, по крайней мере, должно направить вас в правильном направлении.* Кажется, что входной объект не имеет ожидаемого формата (или, фактически, формата, который я читаю, когда читаю его в первый раз).В настоящее время у него есть два свойства:
- "материал" равен
{"1": {"name": "fred"}}
- Есть еще один элемент без ключа, равный
{"2": {"name": "barney"}}
(ключ может быть 0,Я не уверен в этом)
Итак, input.stuff
имеет только один предмет, в то время как input[0]
имеет другой предмет.Если бы это было следующим образом, это имело бы больше смысла:
var input = {
"stuff": {
"1": {"name": "fred"},
"2": {"name": "barney"}
}
}
Если бы это было так, мой код выше работал бы.С данным вводом, это не будет.