본문 바로가기
Errors

Error : malformed node or string error

by 즐거운개발 2022. 7. 26.

API에서 받아온 값을 json 형태로 파싱하는 과정에서 에러가 발생했다.

string 형태의 값을 ast.literal_eval 함수를 이용해 json 형태로 변환하는 과정에서 오류가 있었다.

 

import requests
from ast import literal_eval

response = requests.get(url, headers=headers) # 데이터 수신

data = literal_eval(response.text) # literal_eval 함수로 string -> json형식으로 변환

print(data) # 에러 발생!

 

찾아보니 string -> json형태의 변환은 json.loads 함수를 이용하는 것이 좋다고 한다.

다만, 어떤 응답값들은 ast.literal_eval로도 잘 변환되던데 이유를 모르겠다. 아시면 댓글 부탁드립니다.

 

import requests
import json

response = requests.get(url, headers=headers) # 데이터 수신

data = json.loads(response.text) # json.loads 함수로 string -> json형식으로 변환

print(data) # 정상 출력!

댓글