TIL54 - json.loads / json.load

json.loads / json.load


계기

지금은 개인적으로 Integration Test 중인데,
프론트엔드와 통신할 때 거기서 보낸 body 데이터를

data = json.loads(request.body)

형태로 담아와서 데이터에 저장합니다.

근데 load와 loads의 차이가 뭘까하고 궁금해서 포스팅하게 되었습니다.


loads

JSON 형식 문자열을 파이썬 형식의 객체로 변환하는 메서드이다.

뒤에 s에 대해 나와있는데
str, bytes, bytearray 객체를 포함하는 JSON문서이다.

프론트엔드에서 JSON 형식으로 요청을 보내는데,

나는 파이썬에서 작업하고 있기 때문에 그걸 파이썬 형태로 변환해준다는 의미이다.


load

파이썬 형식의 객체로 변환하는 건 똑같다.

다만, JSON 문서를 포함하는 읽기 전용 파일에 한해서 동작하는 메서드이다.

그래서 load를 사용하려면 JSON 파일을 지정 후, 읽기모드로 바꿔야한다.

아래와 같은 작업을 해야 함

import json

with open("users.json", "r") as user_json :
    data = json.load(user_json)

좋은 웹페이지 즐겨찾기