Вложенный JSON, строковые индексы должны быть целыми числами - PullRequest
0 голосов
/ 20 сентября 2019

Я вложил JSON несколько раз, и мой код приводит к

строковые индексы должны быть целыми числами

Я думаю, что пропускаю еще один шаг, чтобы получитьглубоко вложенные данные JSON, не уверен, что я делаю не так!

json_obj = response.json()
for data in json_obj["data"]:
    cursor.execute("INSERT INTO engagementscores (mean) VALUES (%s)",
                   (data['scores']["mean"],))

Вывод JSON

{
  "data": {
    "type": "engagement_overviews",
    "id": "company_8341",
    "attributes": {
      "scores": {
        "mean": 8.627906976744185,
        "variance": 2.2392026578073088,
        "size": 43,
        "nps": {
          "promoters": 25,
          "passives": 14,
          "detractors": 4,
          "score": 48.83720930232558
        },

Спасибо:)

1 Ответ

0 голосов
/ 20 сентября 2019

Вы просматриваете словарь.data будет следующим ключом в dict в каждой итерации цикла.Поскольку, как представляется, существует только одна клавиша верхнего уровня, data будет "data".

. Вам не нужен цикл.

data = response.json()
cursor.execute('INSERT INTO engagementscores (mean) VALUES (%s)',
               (data['data']['attributes']['scores']['mean'],))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...