নীচের মত ফেসবুক পোস্ট থেকে আমার কাছে গুচ্ছ JSON ডেটা রয়েছে:
{"from": {"id": "8", "name": "Mary Pinter"}, "message": "How ARE you?", "comments": {"count": 0}, "updated_time": "2012-05-01", "created_time": "2012-05-01", "to": {"data": [{"id": "1543", "name": "Honey Pinter"}]}, "type": "status", "id": "id_7"}
জেএসএন ডেটা আধা-কাঠামোগত এবং সমস্ত এক নয়। নীচে আমার কোডটি দেওয়া হয়েছে:
import json
str = '{"from": {"id": "8", "name": "Mary Pinter"}, "message": "How ARE you?", "comments": {"count": 0}, "updated_time": "2012-05-01", "created_time": "2012-05-01", "to": {"data": [{"id": "1543", "name": "Honey Pinter"}]}, "type": "status", "id": "id_7"}'
data = json.loads(str)
post_id = data['id']
post_type = data['type']
print(post_id)
print(post_type)
created_time = data['created_time']
updated_time = data['updated_time']
print(created_time)
print(updated_time)
if data.get('application'):
app_id = data['application'].get('id', 0)
print(app_id)
else:
print('null')
#if data.get('to'):
#... This is the part I am not sure how to do
# Since it is in the form "to": {"data":[{"id":...}]}
আমি কোডটি to_id মুদ্রণ করতে চাই 1543 হিসাবে অন্য 'নাল'
আমি কীভাবে এটি করব তা নিশ্চিত নই।
inচেকগুলি এবংraiseযদি তারা অনুপস্থিত থাকে? কেবল এটি পরীক্ষা না করেই অ্যাক্সেস করুন এবং আপনি ঠিক একই আচরণ পাবেন (এ এরKeyErrorপরিবর্তেValueError)।