2016-12-21 3 views
0
{ 
    "Sponge": { 
     "orientation": "Straight", 
     "gender": "Woman", 
     "age": 23, 
     "rel_status": "Single", 
     "summary": " Bonjour! Je m'appelle Jacqueline!, Enjoy cooking, reading and traveling!, Love animals, languages and nature :-) ", 
     "location": "Kao-hsiung-k’a", 
     "id": "6693397339871" 
    } 
} 

У меня есть этот json выше, и я пытаюсь его прочитать, кроме как в нем есть специальный символ. Например, «« »в местоположении. Это поднять некоторую ошибку, когда я пытаюсь читать JSON:UnicodeDecodeError при декодировании json с python3.5

UnicodeEncodeError: 'charmap' codec can't encode characters in position 27-28: character maps to <undefined> 

Я использую Python 3.5 и я сделал следующий код:

with open('test.json') as json_data: 
    users = json.load(json_data) 
print users 
+0

вопрос название говорит Unicode ** De ** codeError. фактическая сообщенная ошибка Unicode ** En ** codeError –

ответ

1

Используйте codecs модуль, чтобы открыть файл для быстрое исправление.

with codecs.open('test.json', 'r', 'utf-8') as json_data: 
    users = json.load(json_data) 
    print(users) 

Также ответ на этот вопрос можно легко найти в Интернете. (Подсказка: это, как я узнал об этом модуле.)

+0

Спасибо за ответ, но я уже тестировал это, и это не решило проблему. Этот caracter не определяется с помощью utf-8 «« Я все еще получил: «UnicodeEncodeError: кодек« charmap »не может кодировать символ« \ u2019 »в позиции 71: карты символов до « – mel

+0

Если это не UTF-8, вы пытались выяснить, какая другая кодировка может работать с вашей проблемой? – spicypumpkin

Смежные вопросы