tôi có một loạt các dữ liệu JSON từ Facebook bài viết như hình dưới đây:Kiểm tra nếu chính tồn tại và lặp mảng JSON sử dụng Python
{"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"}
Các dữ liệu JSON là bán cấu trúc và tất cả là 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 như 1543 khác in 'null'
Tôi không chắc chắn làm thế nào để làm điều này.
Cảm ơn!
Tại sao làm điều này rõ ràng 'in' kiểm tra và 'nâng cao 'nếu họ bị thiếu? Chỉ cần truy cập nó mà không kiểm tra, và bạn sẽ nhận được chính xác cùng một hành vi (ngoại trừ với một 'KeyError' thay vì' ValueError'). – abarnert