В настоящее время у меня есть массив JSON, который я пытаюсь распечатать на экране, используя цикл. В настоящее время я могу получить результаты, которые хочу получить без цикла, но когда я пытаюсь преобразовать его в цикл, я сталкиваюсь с некоторыми проблемами. Любое понимание было бы полезно. Спасибо.
Это мой текущий код:
<div>
<h2>Document Type</h2>
<select>
<option>Document Type : {{handoff[0].documentType}}</option>
<option>Document Type : {{handoff[1].documentType}}</option>
<option>Document Type : {{handoff[2].documentType}}</option>
<option>Document Type : {{handoff[3].documentType}}</option>
<option>Document Type : {{handoff[4].documentType}}</option>
</select>
<select>
<option ng-repeat="temp in handoff">Document Type : {{temp[0].documentType}}</option>
</select>
<select>
<option ng-repeat="temp in handoff">Document Type : {{temp.documentType}}</option>
</select>
</div>
Мои результаты для первого "выбора" верны, но для второго и третьего результатов нет.
Вот как выглядит obj:
"handoffs":{"0":{ "documentType":"0","conlID":"1230","userName":"CU0","handoff":"h=81878E9E772BCA176D868CA633BFB47D38274B1B209FD80856E56B47"
},"1":{"documentType":"1","conlID":"C010","userName":"A010","handoff":"ERROR: A temporary problem was encountered. Please try your request again in a few minutes."},"3":{"documentType":"3","conlID":"C010","userName":"C10","handoff":"HANDOFF=81878E9E77FB56E56B47"}}
Вы должны исправить структуру json и не должны иметь "0", "1" и "2" в объектных литералах в своем ответе, вы можете просто иметь массив, чтобы ваша проблема была решена.
Обновлен JSON
{
"handoffs": [{
"documentType": "0",
"conlID": "1230",
"userName": "CU0",
"handoff": "h=81878E9E772BCA176D868CA633BFB47D38274B1B209FD80856E56B47"
},{
"documentType": "1",
"conlID": "C010",
"userName": "A010",
"handoff": "ERROR: A temporary problem was encountered. Please try your request again in a few minutes."
},{
"documentType": "3",
"conlID": "C010",
"userName": "C10",
"handoff": "HANDOFF=81878E9E77FB56E56B47"
}]
}
}
Обновить
@o4ohel предложил хороший вариант, если у вас нет никакого контроля над данными и вы не хотите его менять. Затем вы должны использовать опцию
<select>
<option ng-repeat="(key, value) in handoff">Document Type : {{value.documentType}}</option>
</select>
value
. 3-й должен работать как надо. Хотя я бы посоветовал вам использоватьng-options