Skip to content

파일 작업 함수

json 패키지가 제공하는 파일 작업 함수로, 파일 읽기/쓰기 및 스트리밍 I/O 를 지원합니다.

파일 읽기 함수

LoadFromFile

시그니처: func LoadFromFile(filePath string, cfg ...Config) (string, error)

파일에서 JSON 데이터를 로드합니다.

매개변수

이름타입필수설명
filePathstring파일 경로
cfgConfig아니요선택적 설정
go
data, err := json.LoadFromFile("config.json")
if err != nil {
    panic(err)
}
fmt.Println(data)

SaveToFile

시그니처: func SaveToFile(filePath string, data any, cfg ...Config) error

JSON 데이터를 파일에 저장합니다.

매개변수

이름타입필수설명
filePathstring파일 경로
dataany저장할 데이터
cfgConfig아니요선택적 설정
go
err := json.SaveToFile("output.json", map[string]any{
    "name": "Alice",
    "age":  30,
})
if err != nil {
    panic(err)
}

MarshalToFile

시그니처: func MarshalToFile(filePath string, data any, cfg ...Config) error

데이터를 직렬화하여 파일에 씁니다.

매개변수

이름타입필수설명
filePathstring파일 경로
dataany직렬화할 데이터
cfgConfig아니요선택적 설정
go
err := json.MarshalToFile("data.json", myStruct)

UnmarshalFromFile

시그니처: func UnmarshalFromFile(filePath string, v any, cfg ...Config) error

파일에서 데이터를 읽고 역직렬화합니다.

매개변수

이름타입필수설명
filePathstring파일 경로
vany대상 객체 포인터
cfgConfig아니요선택적 설정
go
var config MyConfig
err := json.UnmarshalFromFile("config.json", &config)
if err != nil {
    panic(err)
}

LoadFromReader

시그니처: func LoadFromReader(reader io.Reader, cfg ...Config) (string, error)

io.Reader 에서 JSON 데이터를 로드합니다. 네트워크 연결, HTTP 요청 본문 등 스트리밍 데이터 소스에서 JSON 을 읽는 데 적합합니다.

매개변수

이름타입필수설명
readerio.Reader데이터 소스
cfgConfig아니요선택적 설정
go
// HTTP 응답 본문에서 읽기
resp, _ := http.Get("https://api.example.com/data")
defer resp.Body.Close()
data, err := json.LoadFromReader(resp.Body)

// 문자열에서 읽기
data, err = json.LoadFromReader(strings.NewReader(`{"name":"test"}`))

SaveToWriter

시그니처: func SaveToWriter(writer io.Writer, data any, cfg ...Config) error

JSON 데이터를 io.Writer 에 씁니다.

매개변수

이름타입필수설명
writerio.Writer출력 대상
dataany쓸 데이터
cfgConfig아니요선택적 설정
go
var buf bytes.Buffer
err := json.SaveToWriter(&buf, map[string]any{"name": "test"})
if err != nil {
    panic(err)
}

관련 문서