Угловое зацикливание массива JSON

0

В настоящее время у меня есть массив 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: Изображение 174551

"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"}}
  • 0
    Можете ли вы опубликовать код контроллера или хотя бы как выглядит массив handoff? а также можете ли вы уточнить, какая часть вышеприведенного кода работает, а какая нет?
  • 1
    все параметры отсутствуют с атрибутом value . 3-й должен работать как надо. Хотя я бы посоветовал вам использовать ng-options
Показать ещё 5 комментариев
Теги:
arrays

1 ответ

1
Лучший ответ

Вы должны исправить структуру 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>
  • 1
    Это хороший ответ. Но если вы не хотите предварительно обрабатывать объект в массиве, вы можете использовать следующий синтаксис: <option ng-repeat = "(key, temp) in handoffs"> Тип документа: {{temp.documentType}} </ опция>
  • 0
    @ o4ohel спасибо, брат .. Я обновил ответ в соответствии с ..
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню