有了这段代码
import sense
import json
sense.api_key = '...'
node = sense.Node.retrieve('........')
feed = node.feeds.retrieve('presence')
events = feed.events.list(limit=1)
result = json.dumps(events,indent=1)
print result
Run Code Online (Sandbox Code Playgroud)
我得到一个像这样的JSON-Feed:
{
"links": {...},
"objects": [
{
"profile": "GenStandard",
"feedUid": ".....",
"gatewayNodeUid": ".....",
"dateServer": "2015-02-28T09:57:22.337034",
"geometry": null,
"data": {
"body": "Present",
"code": 200
},
"signal": "-62",
"dateEvent": "2015-02-28T09:57:22.000000",
"type": "presence",
"payload": "2",
"nodeUid": "....."
}
],
"totalObjects": 875,
"object": "list"
}
Run Code Online (Sandbox Code Playgroud)
如何检查'body'是否"存在"(或'代码'是'200')?我的脚本应该返回TRUE或FALSE
UPDATE
如果我按照答案中的建议添加此代码,它可以正常工作:
d=json.loads(result)
def checkJson(jsonContents):
bodyFlag = True if "body" in jsonContents["objects"][0]["data"] and jsonContents["objects"][0]["data"]["body"] == "Present" …Run Code Online (Sandbox Code Playgroud) 我用modernizr加载jQuery,'complete'函数中的所有代码运行正常!但是,如果我试图从外部'Moderniz.load'调用一些js,那么firebug说:'$未定义'.
这有效:
<script>
Modernizr.load([
{
load: [ '//ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js'],
complete: function () {
if ( !window.jQuery ) {
Modernizr.load('/weblounge-sites/www/js/jquery-1.7.min.js', '/weblounge-sites/www/js/jqueryui-1.8.min.js');
}
}
},
{
load: [ 'some additional scripts' ],
complete: function() {
$ = jQuery;
$(document).ready(function(){
some js
});
});
}
},
{
test: Modernizr.boxshadow,
nope: 'polyfills/PIE.js',
}
]);
</script>
Run Code Online (Sandbox Code Playgroud)
但是后来视图行的调用失败了:
<script>
$(document).ready(function(){
$('#hauptsponsoren').cycle({
fx: 'fade',
speed: 4000,
timeout: 10000
});
});
</script>
Run Code Online (Sandbox Code Playgroud)