Tôi sẽ nhận được một dạng chuỗi được mã hóa JSON Obj-C và tôi đang giải mã một chuỗi giả (hiện tại) như mã bên dưới. Đầu ra của tôi xuất hiện với ký tự 'u' tiền tố mỗi mục:Python: json.loads trả về các mục tiền tố bằng 'u'
[{u'i': u'imap.gmail.com', u'p': u'aaaa'}, {u'i': u'333imap.com', u'p': u'bbbb'}...
Làm thế nào để thêm JSON unicode char này? Cách tốt nhất để loại bỏ nó là gì?
mail_accounts = []
da = {}
try:
s = '[{"i":"imap.gmail.com","p":"aaaa"},{"i":"imap.aol.com","p":"bbbb"},{"i":"333imap.com","p":"ccccc"},{"i":"444ap.gmail.com","p":"ddddd"},{"i":"555imap.gmail.com","p":"eee"}]'
jdata = json.loads(s)
for d in jdata:
for key, value in d.iteritems():
if key not in da:
da[key] = value
else:
da = {}
da[key] = value
mail_accounts.append(da)
except Exception, err:
sys.stderr.write('Exception Error: %s' % str(err))
print mail_accounts
Python không có pr biểu tượng ở đây. Mọi thứ đều không lạnh. Tôi nhận được lỗi trong các chuỗi mà Python tạo ra khi tôi thử và viết các chuỗi này vào một tệp. Ví dụ khi python lấy "53" từ JSON nó biến nó thành u'53 'và cố gắng ghi nó vào một tập tin dưới dạng ký tự hex u' \ xe1 ', làm cho Python lấy một chuỗi hoàn toàn tốt và mâu thuẫn trên nó: JSON: {"sa_BstDeAv": "53", "sa_BwVUpMx" ... PYTHON: {u'sa_BstDeAv ': u'53', u'sa_BwVUpMx '... LRI TRÊN VIẾT: Lỗi giá trị ('ascii' codec không thể mã hóa ký tự u '\ xe1' ở vị trí 5: thứ tự không nằm trong phạm vi (128)) –
@janehouse câu trả lời đúng ở đây là câu trả lời của jdi Tôi thực sự nghĩ rằng bạn nên thay đổi nó. – Dekel