Python在json中获取值

Python在json中获取值,python,json,Python,Json,我需要使用python从json中的键“color”获取值,仅用于第一级 json转储: [{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}] 我需要: [ 'red', 'blue'] 我试过: my_values = my_json_a.get('color') 但有错误: Error Contents: 'list' object has n

我需要使用python从json中的键“color”获取值,仅用于第一级

json转储:

[{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}]
我需要:

[ 'red', 'blue']
我试过:

my_values = my_json_a.get('color')
但有错误:

Error Contents: 'list' object has no attribute 'get'
尝试:

输出:

['red', 'blue']

您可以创建一个for循环来循环json字符串,并将每个颜色值附加到一个新列表中

json = [{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}]
colors =[]
for i in json:
    colors.append(i["color"])
print(colors)
因为

[{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}]
是一个列表,让我们测试一下:

>>> my_json_a = [{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}]

>>> type(my_json_a)
<class 'list'>

>>> for i in my_json_a:
...     print(i)
...     print(type(i))

{'value': '10', 'color': 'red'}
<class 'dict'>
{'value': [{'value': '15', 'color': 'black'}], 'color': 'blue'}
<class 'dict'>

[i['color']表示我的_json中的i]
?@JasonEstibeiro
[dic.get(“color”)表示我的_json中的dic]
会更好
>>> my_json_a = [{"color": "red", "value": "10"}, {"color": "blue", "value": [{"color": "black", "value": "15"}]}]

>>> type(my_json_a)
<class 'list'>

>>> for i in my_json_a:
...     print(i)
...     print(type(i))

{'value': '10', 'color': 'red'}
<class 'dict'>
{'value': [{'value': '15', 'color': 'black'}], 'color': 'blue'}
<class 'dict'>
>>> my_values = [i.get('color') for i in my_json_a]
>>> my_values
['red', 'blue']
>>>