Golang

[Golang] JSON 파싱하는 법

CHERMINI 2023. 2. 11.

[Golang] json 파싱하는 법

Go에서 JSON 구문 분석은 내장 'encoding/json' 패키지를 사용하여 수행됩니다. 다음은 JSON 문자열을 구문 분석하는 방법에 대한 간단한 예입니다.

 

json.Unmarshal

package main

import (
	"encoding/json"
	"fmt"
)

type User struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	data := []byte(`{"name":"John Doe","age":30}`)

	var user User
	err := json.Unmarshal(data, &user)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Printf("Name: %s\n", user.Name)
	fmt.Printf("Age: %d\n", user.Age)
}

위 예제에서는 구문 분석하려는 JSON 데이터에 해당하는 User 구조체를 정의합니다 . 그런 다음 json.Unmarshal 함수를 통해 파싱을 합니다.

json:"field_name"Go 구조 필드와 JSON 데이터 간의 매핑을 지정할 수 있도록 하는 구조 정의에서 태그 사용에 유의하십시오 . 이는 JSON 데이터 필드 이름이 Go 코드에서 사용하려는 이름과 일치하지 않을 때 특히 유용합니다.

 

json.Marshal

json.Marshal함수를 사용하여 Go 데이터를 JSON 문자열로 변환할 수도 있습니다 .

package main

import (
	"encoding/json"
	"fmt"
)

type User struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	user := User{Name: "John Doe", Age: 30}

	data, err := json.Marshal(user)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(data))
}

그러면 다음과 같은 출력이 생성됩니다.

{"name":"John Doe","age":30}

 

'Golang' 카테고리의 다른 글

[Golang] 이미지 파일 읽고 쓰기  (0) 2023.02.13
[Golang] csv 파일 읽고 쓰는 법  (0) 2023.02.12
[Golang] 파일 실행 권한 설정  (0) 2023.02.11
[Golang] http request 보내는 법  (0) 2023.02.11
[Golang] nil map  (0) 2023.01.21

댓글

💲 추천 글