Задать вопрос
@Banderas_1989

Как распарсить смешанный тип json-данных?

Здравствуйте. Подскажите пожалуйста как распарсить JSON-ответ в 3-ем Python'е смешанного тип данных и извлечь оттуда данные в переменные. Мучился с циклами - не вышло. Видимо я их не умею готовить.
data {'ipAddress': 'string', 'abuseConfidenceScore': int}
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Не очень понятен вопрос.

Если точно известно что там всё есть, то обращаться напрямую:
parsed_data = json.loads(json_data)
ip_address = parsed_data["data"]["ipAddress"]


Если могут быть сюрпризы, то:
ip_address = parsed_data.get("data", {}).get("ipAddress", "N/A")

import json

json_data = '''
{
  "data": {
    "ipAddress": "192.168.1.1",
    "abuseConfidenceScore": 85
  }
}
'''
parsed_data = json.loads(json_data)
try:
    ip_address = parsed_data.get("data", {}).get("ipAddress", "N/A")
    score = parsed_data.get("data", {}).get("abuseConfidenceScore", 0)
    print(f"IP: {ip_address}, Score: {score}")
except Exception as e:
    print(f"Ошибка: {e}")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Это не json.
Если парсить такие данные - то проще регулярками
data {'ipAddress': 'string', 'abuseConfidenceScore': int}


если что-то типа
{'ipAddress': '127.0.0.1', 'abuseConfidenceScore': 42}

то ast.literal_eval в помощь
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это не JSON.
Во-первых, в JSON все имена полей и строковые литералы берутся в двойные кавычки.
Во-вторых, без кавычек могут быть только числа и литералы true, false и null. Литерала int в JSON нет.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы