анализ объекта Python JSON - PullRequest
       1

анализ объекта Python JSON

0 голосов
/ 31 августа 2018

Как разобрать объект Python JSON?

В настоящее время я получаю это значение из другого файла json, это переменная "Id6087b9b5b5" Но что, если я не знаю строку объекта, но хочу получить "_number" в цикле?

try.py

for sub_dict in y[ChangeID]:  #ChangeID is a variable
    print (ChangeID)
    MERGENUM = (entry['_number'])
    print (MERGENUM

)

data.json

  {
      "Id6087b9b5b5": [
        {
          "status": "NEW",
          "_number": 35328
        }
      ],
      "Id6087b9b345": [
        {
          "status": "NEW",
          "_number": 35348
        }
      ],
      "Id6087b9b555": [
        {
          "status": "NEW",
          "_number": 35310
        }
      ],
      "Id6087b9b5b4": [
        {
          "status": "NEW",
          "_number": 35308
        }
      ]
    }

вывод в виде переменной

35328
35348
35310
35308

1 Ответ

0 голосов
/ 31 августа 2018

Вы можете использовать json, чтобы проанализировать строку json для объекта, а затем повторить объект с циклом for (таким образом, вам не нужно знать идентификаторы) и получить внутренний объект, каждый внутренний объект является массивом которые используют inner_object [0] для получения первого объекта:

import json
data = '''{
      "Id6087b9b5b5": [
        {
          "status": "NEW",
          "_number": 35328
        }
      ],
      "Id6087b9b345": [
        {
          "status": "NEW",
          "_number": 35348
        }
      ],
      "Id6087b9b555": [
        {
          "status": "NEW",
          "_number": 35310
        }
      ],
      "Id6087b9b5b4": [
        {
          "status": "NEW",
          "_number": 35308
        }
      ]
    }'''

print(data)

obj = json.loads(data)

for nid in obj:
    inner_obj = obj[nid][0]
    num = inner_obj['_number']
    print(num)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...