Я пытаюсь получить элемент из dict, который был декодирован json:
data = [ { 'a':'A', 'b':(2, 4), 'c':3 } ]
data_string = json.dumps(data)
decoded = json.loads(data_string)
decoded['c']
Итак, это показывает следующее:
Traceback (most recent call last): File "", line 1, in TypeError: list indices must be integers, not str
Я пытаюсь распечатать значение c на экране
Поэтому я пытаюсь увидеть 3 после декодирования ['c']
Как я могу это сделать?
Спасибо!
ваши данные - это список, содержащий словарь
вы можете использовать decoded[0]['c']
, поскольку словарь является первым элементом списка
Другая возможность заключается в том, что вы должны использовать data = {u'a': u'A', u'c': 3, u'b': [2, 4]}
(без квадратных скобок)
Это действительно зависит от того, хотите ли вы, чтобы данные были списком словарей или просто словарем
данные, которые вы закодировали, представляют собой список из одного элемента. Возможно, вы имеете в виду:
decoded[0]['c']
data
- это список, а не dict. Попробуйте:
data = { 'a':'A', 'b':(2, 4), 'c':3 }
data_string = json.dumps(data)
decoded = json.loads(data_string)
decoded['c']