파이썬 json 읽기. UnicodeDecodeError: 'cp949' codec can't decode byte

조회수 3133회
//여기에 코드를 입력하세요[
    {
        "created_time": "2018-01-23 08:00:00",
        "link": "http://news.jtbc.joins.com/article/article.aspx?news_id=NB11579263",
        "message": "실세였던 이상득 전 의원에게…\n국정원 책임론 모면하려?",
        "name": "[단독] '인니 침입' 국정원 위기 때 건네진 억대 특활비",
        "num_angrys": 104,
        "num_comments": 12,
        "num_hahas": 13,
        "num_likes": 240,
        "num_loves": 5,
        "num_reactions": 0,
        "num_sads": 4,
        "num_shares": 31,
        "num_wows": 0,
        "post_id": "240263402699918_1665440173515560"
    },
    {
        "created_time": "2018-01-23 07:00:01",
        "link": "http://news.jtbc.joins.com/html/258/NB11579258.html",
        "message": "안봉근 전 비서관의 진술입니다.",
        "name": "\"박근혜 보고 때 최순실 동석…누구도 나가란 말 안 해\"",
        "num_angrys": 304,
        "num_comments": 51,
        "num_hahas": 119,
        "num_likes": 549,
        "num_loves": 4,
        "num_reactions": 0,
        "num_sads": 1,
        "num_shares": 77,
        "num_wows": 0,
        "post_id": "240263402699918_1665433430182901"
    },
    {
        "created_time": "2018-01-23 06:00:01",
        "link": "https://www.facebook.com/jtbcnews/videos/1665462230180021/",
        "message": "판사들의 재판 스타일, 가정사까지…\n법원행정처 문건에 드러난 '뒷조사' 정황.",
        "name": "\"아웃사이더\" \"학생운동 경력\"…판사 뒷조사 정황까지",
        "num_angrys": 142,
        "num_comments": 19,
        "num_hahas": 10,
        "num_likes": 163,
        "num_loves": 0,
        "num_reactions": 0,
        "num_sads": 4,
        "num_shares": 57,
        "num_wows": 0,
        "post_id": "240263402699918_1665462230180021"
    }

]

이런 json 파일이 있습니다. 파이썬으로 num_shares 전부를 합한 값을 얻고 싶은데. 검색을 통한 json 읽기를 해보니

>Traceback (most recent call last):
  File "C:/pyto/jsin.py", line 5, in <module>
    data = json.load(f)
  File "C:\Users\RND1\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 296, in load
    return loads(fp.read(),
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 165: illegal multibyte sequence

다음과 같은 오류와 비슷하게 납니다 어떻게 읽을 수 있을까요..

1 답변

  • 붙여주신 json 텍스트는 제대로 동작하는 것 같습니다.

    에러 코드 상으로는 euc-kr 의 인코딩 문제인 것 같은데 어디선가 API 응답을 받아서 처리하시는 부분이라면 인코딩 변환이 필요하지 않나 싶습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)