我有以下 json:
{"sensors":
{"-KqYN_VeXCh8CZQFRusI":
{"bathroom_temp": 16,
"date": "02/08/2017",
"fridge_level": 8,
"kitchen_temp": 18,
"living_temp": 17,
"power_bathroom": 0,
"power_bathroom_value": 0,
"power_kit_0": 0
},
"-KqYPPffaTpft7B72Ow9":
{"bathroom_temp": 20,
"date": "02/08/2017",
"fridge_level": 19,
"kitchen_temp": 14,
"living_temp": 20,
"power_bathroom": 0,
"power_bathroom_value": 0
},
"-KqYPUld3AOve8hnpnOy":
{"bathroom_temp": 23,
"date": "02/08/2017",
"fridge_level": 40,
"kitchen_temp": 11,
"living_temp": 10,
"power_bathroom": 1,
"power_bathroom_value": 81,
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的Python代码:
from flask import Flask, render_template, json, url_for
from firebase import firebase
import os
firebase = firebase.FirebaseApplication('https://my-firebase-db-958b1.firebaseio.com/', None)
result = firebase.get('/Dublin-Ireland', None)
print "\n Json file created!\n"
data_temp = result.values()[0]
for key, value in data_temp.iteritems():
print key
print value
print "\n\n"
Run Code Online (Sandbox Code Playgroud)
使用当前代码,我可以查看键“KqYN_VeXCh8CZQFRusI”、“KqYPPffaTpft7B72Ow9”等,以及这些键的值:
{"bathroom_temp": 16,
"date": "02/08/2017",
"fridge_level": 8,
"kitchen_temp": 18,
"living_temp": 17,
"power_bathroom": 0,
"power_bathroom_value": 0,
"power_kit_0": 0
},
Run Code Online (Sandbox Code Playgroud)
和
{"bathroom_temp": 20,
"date": "02/08/2017",
"fridge_level": 19,
"kitchen_temp": 14,
"living_temp": 20,
"power_bathroom": 0,
"power_bathroom_value": 0
},
Run Code Online (Sandbox Code Playgroud)
我需要获取二级键及其值。我试图为每个键(“bathroom_temp”、“power_bathroom”等)创建一个文件,并将这些键的所有相应值保存在文件中。
例如,文件“bathroom_temp.txt”的值为“16,20,23”。
您可以将 JSON 数据放入变量中:
data = {"sensors":
{"-KqYN_VeXCh8CZQFRusI":
{"bathroom_temp": 16,
"date": "02/08/2017",
"fridge_level": 8,
"kitchen_temp": 18,
"living_temp": 17,
"power_bathroom": 0,
"power_bathroom_value": 0,
"power_kit_0": 0
},
"-KqYPPffaTpft7B72Ow9":
{"bathroom_temp": 20,
"date": "02/08/2017",
"fridge_level": 19,
"kitchen_temp": 14,
"living_temp": 20,
"power_bathroom": 0,
"power_bathroom_value": 0
},
"-KqYPUld3AOve8hnpnOy":
{"bathroom_temp": 23,
"date": "02/08/2017",
"fridge_level": 40,
"kitchen_temp": 11,
"living_temp": 10,
"power_bathroom": 1,
"power_bathroom_value": 81,
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用嵌套索引地址来获取所需的参数:
kitchen_temp = data["sensors"]["-KqYN_VeXCh8CZQFRusI"]["kitchen_temp"]
print(kitchen_temp)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21503 次 |
| 最近记录: |