Python에서 파일에 JSON 쓰기

Vaibhav Vaibhav 2022년4월14일
Python에서 파일에 JSON 쓰기

JSON은 가볍고 사람이 읽을 수있는 파일 형식으로 업계에서 많이 사용됩니다. JSON은JavaScript Object Notation을 의미합니다. 이름에서 알 수 있듯이 JSON은 웹 개발자에게 매우 인기가 있으며 웹 애플리케이션에서 서버 또는 다른 애플리케이션에서 데이터를 보내고 검색하는 데 많이 사용됩니다.

Python은 많은 내장 패키지 또는 모듈과 함께 제공되며 인터넷을 통해 사용할 수있는 많은 외부 모듈이 있습니다. 흥미롭게도 JSON 데이터를 처리하기위한 내장 모듈json도 있습니다.

Python에서 JSON은 두 가지 방식으로 표현 될 수 있습니다. 첫째, 문자열로. JSON 문자열은 다음과 같습니다.

jsonString = '{ "name": "DelftStack", "email": "DelftStack@domain.com", "age": 20, "country": "Netherlands", "city": "Delft"}'

JSON을 문자열로 표현할 때는 큰 따옴표 ("") 만 사용하여 키와 문자열 값을 래핑해야합니다. JSON은 작은 따옴표를 지원하지 않으며 작은 따옴표를 사용하면 오류를 발생시킵니다.

두 번째 방법은 Python 객체 또는 널리 알려진 Python 사전을 사용하는 것입니다. JSON과 유사한 구문이 있습니다.

파이썬 사전 형태의 JSON 표현은 다음과 같습니다.

jsonObject = {
    "name": "DelftStack",
    "email": "DelftStack@domain.com",
    "age": 20,
    "country": "Netherlands",
    "city": "Delft",
}

다시 말하지만, 큰 따옴표 만 사용해야합니다.

Python에서json모듈을 사용하여 파일에 JSON 쓰기

문자열 형식으로 JSON을 저장하는 변수가 있다고 가정합니다. 따라서 JSON 파일로 작성하려면 다음 코드를 사용할 수 있습니다.

import json

fileName = "my-data.json"
jsonString = '{ "name": "DelftStack", "email": "DelftStack@domain.com", "age": 20, "country": "Netherlands", "city": "Delft"}'
jsonString = json.loads(jsonString)

file = open(fileName, "w")
json.dump(jsonString, file)
file.close()

먼저json모듈을 가져 왔습니다. 그런 다음 JSON 파일 이름과 JSON 문자열 자체를 두 개의 변수에 저장했습니다. 그런 다음write모드에서 선택한 이름으로 새 파일을 만들고 엽니 다.

그런 다음json모듈의loads함수를 사용하여 JSON 문자열을 파이썬 사전으로 변환하여 파일에 씁니다. 이 함수는 유효한 JSON 문자열을 받아 Python 사전으로 변환합니다.

이 함수에 유효하지 않은 문자열이 제공되면json.decoder.JSONDecodeError오류가 발생합니다. 따라서 올바른 문자열을 전달하거나 오류 처리를 위해try-except-finally블록을 사용하는지 확인하십시오.

다음으로,json모듈이 제공하는dump()메소드를 사용합니다. 이 메소드는 파이썬 사전과 파일 설명자를 매개 변수로 받아들이고 사전의 데이터를 파일에 씁니다.

dump()메소드는 파일이 바이너리 형식으로 열리지 않은 경우에만 작동합니다. 즉,"wb""rb"가 작동하지 않고TypeError가 발생합니다.

마지막으로 파일을 닫으면 프로그램이 종료됩니다. 프로그램에서 정의한 이름의 JSON 파일이 현재 디렉터리에 생성됩니다.

동일한 이름과 동일한 확장자를 가진 파일이 작업 디렉토리에 있으면 해당 파일의 내용을 덮어 씁니다.

이제 Python 객체 또는 Python 사전을 JSON 파일에 작성한다고 가정합니다. 이 경우 다음 코드 스 니펫을 참조하십시오.

import json

fileName = "my-data.json"
jsonObject = {
    "name": "DelftStack",
    "email": "DelftStack@domain.com",
    "age": 20,
    "country": "Netherlands",
    "city": "Delft",
}

file = open(fileName, "w")
json.dump(jsonObject, file)
file.close()

이 경우, 우리는 이미 파이썬 객체 또는 사전을 가지고 있으며, 위에서 설명한대로dump()는 사전을 매개 변수로 받아들이고 파일 설명자에 기록합니다. 따라서 쓰기 모드에서 파일을 열고dump()메소드를 사용하여 파일에 데이터를 쓰고 파일을 닫습니다.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

관련 문장 - Python JSON