Tôi đã khắc phục sự cố một số mã sử dụng HTTP POST để gửi dữ liệu và phải trả lại kết quả JSON có nội dung là từ điển. Tôi đang sử dụng trình bao bọc XML-RPC để hiển thị dịch vụ này. Khi wrapper nhận được thông tin dict từ biến phản ứng http, nội dung dict đang ở trong một chuỗi theo hình thức này:Python dict to JSON qua json.loads:
{'created': datetime.datetime(2010, 12, 31, 19, 13, 8, 379909), 'worker': u'GoogleWorker', 'ready': False, 'request_id': '8f1381853a444a42a37ae5152a3af947', 'owner': u'admin', 'shortname': u'test19'}
Tôi đang cố gắng để chuyển đổi chuỗi dưới đây vào một kết quả JSON sử dụng câu lệnh sau:
result = json.loads(response[1])
Tuy nhiên, khi tôi cố gắng sử dụng json.loads để chuyển đổi dữ liệu sang JSON, tôi nhận được lỗi sau: Fault: <Fault 1: "<type 'exceptions.ValueError'>:Expecting property name: line 1 column 1 (char 1)">
tôi tự cố gắng để chuyển đổi chuỗi trên để JSON, nhưng tôi nhận được cùng lỗi. Là dict không đúng theo một cách nào đó? Có phải do unicode không? Tôi cũng đã thử đặt ngôn ngữ thành UTF-8, nhưng điều đó không thành công.
Mọi trợ giúp sẽ được đánh giá cao.
Cảm ơn mọi người đã giúp đỡ của bạn. Tôi nhận ra rằng tôi đang đặt câu hỏi sai, vì tôi đang cố gắng gỡ lỗi một API gửi cho tôi sử dụng django-piston và tôi đã không sử dụng nó trước đây. Câu hỏi thực tế của tôi liên quan đến django-piston và tại sao Content-Type trả lời của tôi luôn được đặt thành văn bản thuần thay vì ứng dụng/json bất cứ khi nào phản hồi là HTTP CREATED (201). Tôi sẽ hỏi điều này như một câu hỏi riêng, vì câu hỏi ban đầu là không liên quan đến vấn đề thực tế (mặc dù câu trả lời về hành vi của JSON là thú vị!). –