Как перейти JSON в JS - PullRequest
0 голосов
/ 28 ноября 2018

Я разрабатываю Ajax-запрос для Django и работает нормально, возвращает правильное значение, но когда я хочу получить доступ к информации, я получаю эту ошибку:

SyntaxError: missing name after . operator

Я вернул информационный запрос с этими строкамив файле python:

attributes = MyModel._meta.get_fields()
objects = MyModel.objects.all()
data = serializers.serialize('json', objects, fields=(attributes[1].name))
print(data)

return HttpResponse(data, content_type='application/json')

вывод на печать (данные):

[{
  "model": "contenttypes.contenttype",
  "pk": 11,
  "fields": {
    "model": "accountingseat"}
  },
{
  "model": "contenttypes.contenttype",
  "pk": 12,
  "fields": {
    "model": "bill"
  }
}]

файл javascript:

function functionName(param) {
  for (var i = 0; i < param.length; i++) {
    console.log(param[i]);
    console.log(param[i].pk);
    var fields = param[i]['fields'];
    for (var x = 0; x < fields.length; x++) {
      console.log(fields.[x]); //error line
    }
  }
}

console.log () вывод:

Object { model: "general.module", pk: 1, fields: { name: "General" } }

Проблема в том, что я не могу получить доступ с name , потому что имя атрибута изменяется в каждой модели.

Как я могу получить доступ к полям?Заранее спасибо.

1 Ответ

0 голосов
/ 29 ноября 2018

Если я правильно понимаю ваш вопрос, то это можно решить с помощью Object.values() примерно так:

function functionName(param) {
  for (var i = 0; i < param.length; i++) {
    console.log(param[i]);
    console.log(param[i].pk);

    var fields = param[i]['fields'];

    // Object.values throws expection if undefined passed so check this first
    if(fields) {

        // Access the values of the fields object if valid
        var fieldsValues = Object.values(fields);

        for (var x = 0; x < fieldsValues.length; x++) {
          console.log(fieldsValues[x]);
        }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...