json год не работал, в нагуглил только простые примеры.
Есть у меня вот такой json ответ сервера
{
"name1": "value1",
"properties": [
{
"name": "Petr",
"value": "20"
},
{
"name": "Ivan",
"value": "23"
}
]
}
Как получить значение для "Ivan"?)
print( {"name1": "value1", "properties": [ { "name": "Petr", "value": "20" }, { "name": "Ivan", "value": "23" } ] }["properties"][1]["name"])
надо получить value где name Ivan?
именно так
тогда выше генератор списка с условием, в результате получится список значений value для всех Иванов)
а obj как-то надо отдельно определять? а то ругаетс на него
obj - это твой json, если там строка, нужно в дикт преобразовать obj = json.loads(json)
я понял, но не прокатило AttributeError: 'dict' object has no attribute 'properties'
тогда так Ivan_value = [prop_item.get("value") for prop_item in value_source.get("properties") if prop_item.get("name") == "Ivan" ]
да, это проходит. Только значение в виде ['значение'], т.е. в квадратных скобках, как массив
все правильно, у тебя может быть несколько Иванов) Если там всегда один, можешь добавить [0]
сработало, спасибо!
Обсуждают сегодня