我想从中提取一些JSON数据,并为天气键中的天气值创建一个嵌套字典
{
"took" : 5,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 0.597837,
"hits" : [
{
"_index" : "myindex",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.597837,
"_source" : {
"appName" : "MidApp",
"appVer" : "1.0",
"reviews" : {
"reviewer" : {
"value" : "Bob"
},
"testsPass" : [
{
"name" : "unit",
"pass" : true
},
{
"name" : "integraton",
"pass" : true
},
{
"name" : "ui",
"pass" : true
}
]
}
}
}
]
}
}
鉴于“温度:34 F,湿度:51%,风:55 mph”,我试图找到一种使用字典理解的方法来将json输入到该python对象中并被卡住
答案 0 :(得分:0)
您必须在","
上拆分字符串以分隔字段:
>>> s = "Temp: 34 F, Humidity: 51%, Wind: 55 mph"
>>> s.split(",")
['Temp: 34 F', ' Humidity: 51%', ' Wind: 55 mph']
然后,拆分": "
上的每个元素以获取键和值:
>>> [k_v.split(": ") for k_v in s.split(",")]
[['Temp', '34 F'], [' Humidity', '51%'], [' Wind', '55 mph']]
现在,您可以根据以下内容建立字典:
>>> dict(k_v.split(": ") for k_v in s.split(","))
{'Temp': '34 F', ' Humidity': '51%', ' Wind': '55 mph'}
或者具有dict理解:
>>> {k: v for k_v in s.split(",") for k, v in [k_v.split(": ")]}
{'Temp': '34 F', ' Humidity': '51%', ' Wind': '55 mph'}