Как найти определенное значение JSON по ключу с помощью List Computing и Pydash
Я пытаюсь найти конкретное значение JSON по ключу, используя List Computing и Pydash. Я знаю, что есть несколько способов сделать это, но я более конкретен, чтобы сделать это с помощью
List Comprehension
а также
Pydash
. Я пробовал ниже фрагмент кода, который вроде работает для
dict
итерация, но не для
list
итерация.
import pydash as py_
data = {
"P1": "ss",
"P2": {
"P1": "cccc"
},
"P3": [
{
"P1": "aaa"
}
]
}
def findall(v, k):
if type(v) is list:
[findall(i,k) for i in v]
a= [py_.get(v,k)]+[findall(py_.get(v, k1), k) for k1 in v if type(v) == type({})]
return(a)
refs_= findall(data, 'P1')
refs_d = py_.compact(py_.chain(refs_).
flatten_deep().
value())
print(refs_d)
Я пытаюсь найти ценности для всех
P1
. Выход должен быть
["ss","cccc","aaa"]