TIL55 - json.dump / json.dumps

Kiyong Lee·2021년 11월 22일
0

Django

목록 보기
31/35

json.dump / json.dumps


계기

Unit Test 중 아래 두가지 차이가 궁금했었다

json.dump    json.dumps

json.dumps

객체를 JSON형태의 문자열로 변환

예를 들어 아래 Unit Test 코드는 회원가입을 테스트하기 위한 코드인데,

가입할 유저 정보를 user라는 변수에 담아서 JSON 형태로 변환한다는 뜻이다.

프론트엔드 요청을 받을 때 JSON 형태로 받으므로 변환이 필요한데,

이걸 json.dumps가 해주는 것이다.

    def test_success_sign_up(self) :
        client = Client()
        
        user = {
            'username' : 'new user',
            'passowrd' : '1234'
        }
        
        response = client.post("/users/signup", json.dumps(user))

json.dump

이전 포스트에서 json.load는 실제 파일을 읽어와야 했었는데

마찬가지로 이 메서드 역시 파일과 관련이 있다.

파일을 작성모드로 바꾸고 JSON형태로 변환한다.

아래와 같은 방법으로 해주면 된다

#users.json 파일에 저장할 JSON 데이터
user = {
    "id" : "kylee",
    "pw" : "1234
}

#파일 읽어와서 실행
import json

with open("users.json", "w") as u :
    json.dump(user, u)

그렇게 되면 users.json 이라는 파일안에 user라는 데이터가 생성된다.

profile
ISTJ인 K-개발자

0개의 댓글