Tôi có một loạt dữ liệu JSON từ các bài đăng trên Facebook như dưới đây:
{"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"}
Dữ liệu JSON có cấu trúc bán cấu trúc và tất cả đều không giống nhau. Dưới đây là mã của tôi:
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":...}]}
Tôi muốn mã để in to_id là 1543 khác in 'null'
Tôi không chắc chắn làm thế nào để làm điều này.
in
kiểm tra rõ ràng này vàraise
nếu chúng bị thiếu? Chỉ cần truy cập nó mà không cần kiểm tra, và bạn sẽ có chính xác hành vi tương tự (ngoại trừKeyError
thay vì aValueError
).