我有以下json
{
"1102": {
"colours": {
"r": -70.353,
"g": -33.151,
"b": -33.824,
"y": -71.043
},
"texture": "grainy",
"transparency": "0.8"
},
"3941": {
"colours": {
"r": -57.833,
"g": -34.219,
"b": -35.139,
"y": -59.258
},
"texture": "smooth",
"transparency": "0.2"
},
"2932": {
"colours": {
"r": -45.863,
"g": -23.125,
"b": -24.317,
"y": -47.357
},
"texture": "rough",
"transparency": "0.1"
},
我想用Python来打印 1102 3941 2932 没有信息可以遵循
我尝试过任何方法,但我似乎无法隔离第一部分。任何帮助表示赞赏。
答案 0 :(得分:1)
使用json
module将json加载到Python字典中并获取.keys()
:
import json
data = "your json data"
d = json.loads(data)
print(d.keys())
请注意,在Python 3中,.keys()
是 view ,以获取列表:
print(list(d.keys()))
答案 1 :(得分:0)
data = json.loads(json_string)
for k,v in data:
print(k,v)
答案 2 :(得分:0)
您可以加载json,将其转换为字典:
import json
data = json.loads(json_string)
然后您可以轻松打印它们的键:
print ' '.join([key for key in data.iterkeys()])
完成后,您将打印所有分隔的密钥空间,使用pythonic列表理解来创建从您的json字符串创建的字典。
答案 3 :(得分:0)
如果将JSON分配给变量...
myJson = {
"1102": {
"colours": {
"r": -70.353,
"g": -33.151,
"b": -33.824,
"y": -71.043
},
"texture": "grainy",
"transparency": "0.8"
},
"3941": {
"colours": {
"r": -57.833,
"g": -34.219,
"b": -35.139,
"y": -59.258
},
"texture": "smooth",
"transparency": "0.2",
"country": "Argentina"
},
"2932": {
"colours": {
"r": -45.863,
"g": -23.125,
"b": -24.317,
"y": -47.357
},
"texture": "rough",
"transparency": "0.1"}
}
Python会将其视为字典!你可以print(myJson)
,它将返回:
{'3941': {'country': 'Argentina', 'transparency': '0.2', 'colours': {'g': -34.219, 'y': -59.258, 'b': -35.139, 'r': -57.833}, 'texture': 'smooth'}, '2932': {'transparency': '0.1', 'colours': {'g': -23.125, 'y': -47.357, 'b': -24.317, 'r': -45.863}, 'texture': 'rough'}, '1102': {'transparency': '0.8', 'colours': {'g': -33.151, 'y': -71.043, 'b': -33.824, 'r': -70.353}, 'texture': 'grainy'}}
如果您需要特定数据,可以使用print(myJson['1102'])
,它将返回:
{'transparency': '0.8', 'colours': {'g': -33.151, 'y': -71.043, 'b': -33.824, 'r': -70.353}, 'texture': 'grainy'}