@Hadmi

В чём проблема в индексации при передаче словаря из django в jquery посредством json?

Добрый день. Я немного запутался, прошу помочь.
В джанго в view.py я генерирую многомерный словарь:

def get_actions_list(request):
    actions_list_dict = {}

    actions_list_dict['header'] = [
            {'title': 'Дата', 'anchor': 'start_date'},
            {'title': 'Оборудование', 'anchor': 'equipment'},
            {'title': 'Тип', 'anchor': 'type'},
            {'title': 'Вид', 'anchor': 'scheduled'},
            {'title': 'Контейнер', 'anchor': 'old_container'},
            {'title': 'Описание', 'anchor': 'description', 'tooltiped': True}
        ],

    actions_list_dict['table_params'] = {
            'html_id': 'actions_table',
            'html_class': 'content_table'
        },


Провожу сериализацицию в json и отправляю через HttpResponse:

return HttpResponse(
        json.dumps({
            "result": actions_list_dict,
        }),
        content_type="application/json"
    )


На стороне клиента средствами jquery принимаю эти данные:

$.ajax({
        url: ajaxParams.url,
        type: 'POST',
        headers: {"X-CSRFToken": csrftoken},
        data: ajaxParams.data,
        success: function (json) {

                var table = json.result

        }, //end success


После этого я ожидаю получить результат, например
table.header[0].title == 'Дата'
или
table.header[3].title == 'Вид'

Но по факту создаётся ещё какой-то один объект, к которому обратиться можно только через нулевой индекс header, и чтобы получить данные которые я хочу по факту приходится использовать это:
table.header[0][0].title == 'Дата'
table.header[0][3].title == 'Вид'

Собственно вопрос - что за объект такой, к которому приходится обращаться через индекс [0] и можно ли как-то от него избавиться?

Заранее спасибо!
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
alternativshik
@alternativshik
А нафига запятые в местах ], и }, ? Как написали, так оно и работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы