2
Ниже приведен пример выполнения простого JSON, используя python2.4 версиипростой JSON свалки функция с юникодом
>>>
>>> orig='{"key1":"Val", "key2":"val2"}'
>>> origDict = simplejson.loads(orig)
>>> origDict
{'key2': 'val2', 'key1': 'Val'}
>>> origDict['key2'] = '\xe4\xbd\xa0\xe5\xa5\xbd'
>>> simplejson.dumps(origDict)
'{"key2": "\\u4f60\\u597d", "key1": "Val"}'
свалках функции является заменой строки байтов с версией Unicode. Есть ли способ сделать это не так и просто вернуть '{"key2": "\ xe4 \ xbd \ xa0 \ xe5 \ xa5 \ xbd", "key1": "Val"}'?
Спасибо! это сработало ... но что вы подразумеваете под кодировкой после. Он возвращал байтовую строку, которую я хотел. >>> simplejson.dumps (origDict, secure_ascii = False) '{"key2": "\ xe4 \ xbd \ xa0 \ xe5 \ xa5 \ xbd", "key1": "Val"}' – Kamal
Предполагается вернуть 'unicode', который вам нужно будет кодировать как UTF-8 после. –
Это показывает как str на моей системе! >>> origDict {'key2': '\ xe4 \ xbd \ xa0 \ xe5 \ xa5 \ xbd', 'key1': 'Val'} >>> type (simplejson.dumps (origDict, secure_ascii = False)) Это потому, что у dict нет никаких символов un utf8? –
Kamal