[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 |
댓글