• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Обработка JSON python

domebr

Green Team
07.06.2020
40
5
BIT
2
Есть JSON вот такого вида. 15 - ID, он не статичен и всегда изменяется, какой-то определенной закономерности в этом нет. Нужно получить строки user, pass, port, ip и сделать это универсально.
Код:
{
 "status": "yes",
 "user_id": "1",
 "balance": 42.5,
 "currency": "RUB",
 "count": 1,
 "price": 6.3,
 "price_single": 0.9,
 "period": 7,
 "country": "ru",
 "list": {
   "15": {
      "id": "15",
      "ip": "2a00:1838:32:19f:45fb:2640::330",
      "host": "185.22.134.250",
      "port": "7330",
      "user": "5svBNZ",
      "pass": "iagn2d",
      "type": "http",
      "date": "2016-06-19 16:32:39",
      "date_end": "2016-07-12 11:50:41",
      "unixtime": 1466379159,
      "unixtime_end": 1468349441,
      "active": "1"
   }
 }
}
 

neonh4ze

Active member
07.06.2018
34
162
BIT
2
Есть JSON вот такого вида. 15 - ID, он не статичен и всегда изменяется, какой-то определенной закономерности в этом нет. Нужно получить строки user, pass, port, ip и сделать это универсально.
Код:
{
"status": "yes",
"user_id": "1",
"balance": 42.5,
"currency": "RUB",
"count": 1,
"price": 6.3,
"price_single": 0.9,
"period": 7,
"country": "ru",
"list": {
   "15": {
      "id": "15",
      "ip": "2a00:1838:32:19f:45fb:2640::330",
      "host": "185.22.134.250",
      "port": "7330",
      "user": "5svBNZ",
      "pass": "iagn2d",
      "type": "http",
      "date": "2016-06-19 16:32:39",
      "date_end": "2016-07-12 11:50:41",
      "unixtime": 1466379159,
      "unixtime_end": 1468349441,
      "active": "1"
   }
}
}
Python:
>>> import json
>>> with open('json.txt', 'r') as fd:
...     data = json.load(fd)
...
>>> user, passw, ip, port = [], [], [], []
>>> try:
...     for ID in data['list'].keys():
...             user.append(data['list'][ID]['user'])
...             passw.append(data['list'][ID]['pass'])
...             ip.append(data['list'][ID]['ip'])
...             port.append(data['list'][ID]['port'])
... except Exception as e:
...     print(e)
...
>>> user
['5svBNZ']
>>> passw
['iagn2d']
>>> port
['7330']
>>> ip
['2a00:1838:32:19f:45fb:2640::330']
>>> port
['7330']
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!