में है इस कोड के साथजांच करें कि कुंजी/मान JSON
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
मैं इस तरह एक JSON-फीड मिलती है:
{
"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"
}
मैं कैसे जांच कर सकते हैं 'शरीर' 'वर्तमान' (है या 'कोड' '200' है)? मेरे स्क्रिप्ट लौट जाना सही या गलत
अद्यतन
के रूप में जवाब में प्रस्तावित मैं इस कोड जोड़ देते हैं तो यह ठीक काम करता है:
d=json.loads(result)
def checkJson(jsonContents):
bodyFlag = True if "body" in jsonContents["objects"][0]["data"] and jsonContents["objects"][0]["data"]["body"] == "Present" else False
return bodyFlag
print checkJson(d)
है ऐसा इसलिए है क्योंकि आप json डंप कर रहे हैं, या तो आप का उपयोग करना चाहिए 'd = json.loads (परिणाम)' या सिर्फ पहली json लोड। –
Thx, वह समाधान था! – Simon
कोई चिंता नहीं, आपको ''' 'शरीर का पता लगाने के लिए' इन 'का उपयोग करने की भी आवश्यकता है, अन्य जवाब एक मूल्य' वर्तमान 'की तलाश में हैं जो मैं कल्पना करता हूं कि आप जो चाहते हैं वह नहीं है। मुझे लगता है कि 'वर्तमान' से आपका मतलब है –