我有以下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,
}
}
}
我正在使用以下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!"
with open ('data.txt', 'w') as outfile:
json.dump(result, outfile)
app = Flask(__name__)
@app.route('/')
def homepage():
with open('data.txt') as f:
s = f.read()
return render_template("homepage.html" , nameTxt = s)
if __name__ == "__main__":
app.run()
我可以将python文件中的json数据传递给javascript。解析后,我能够使用JSON.Stringify查看所有值。但是,我无法一次获得一个值。我要做的是将每个键保存在自己的文件中(例如,bathroom_temp,date,fridge_level等等),并在json以周期性方式更新时附加值。所以,稍后我可以获得我需要的任何关键数据,并使用数据绘制线图。例如,bathroom_temp文件应包含“16,20,23”,这可用于绘制图形。
以下是我的javascript代码:
<script>
var test = JSON.parse({{ nameTxt|tojson }});
for(key in test)
{
if(test.hasOwnProperty(key))
{
var value = test[key];
alert(JSON.stringify(value, null, 4));
}
}
</script>
答案 0 :(得分:0)
您可以概括如下:
for(key in test['sensors']) {
var sensor = test['sensors'][key];
console.log(sensor['bathroom_temp']);
}