>백엔드 개발 >Golang >golang 문자열 转json

golang 문자열 转json

WBOY
WBOY원래의
2023-05-13 10:04:073367검색

golang에서 문자열 유형을 json 객체로 변환하려면 표준 라이브러리의 json 패키지를 사용할 수 있습니다.

먼저 json.Marshal() 함수를 사용하여 golang의 객체를 json 형식 문자열로 변환할 수 있습니다. 예:

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

p := Person{Name: "Tom", Age: 29}
jsonStr, err := json.Marshal(p)
if err != nil {
    fmt.Println("json.Marshal failed:", err)
}

fmt.Println(string(jsonStr))

위 코드는 다음 결과를 출력합니다.

{"name":"Tom","age":29}

다음으로 json.Unmarshal() 함수를 사용하여 json 문자열을 golang의 객체로 변환할 수 있습니다. 예:

jsonStr := `{"name":"Tom","age":29}`

var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
    fmt.Println("json.Unmarshal failed:", err)
}

fmt.Println(p.Name, p.Age)

위 코드는 다음과 같은 결과를 출력합니다.

Tom 29

json을 구문 분석할 때 []byte 유형의 매개변수가 사용되므로 문자열 유형을 강제 유형을 통해 []로 변환해야 합니다. 변환.바이트 유형.

또한 json.NewDecoder() 함수를 직접 사용하여 json 형식 문자열을 json 개체로 구문 분석할 수도 있습니다. 예:

jsonStr := `{"name":"Tom","age":29}`

var data interface{}
decoder := json.NewDecoder(strings.NewReader(jsonStr))
err := decoder.Decode(&data)
if err != nil {
    fmt.Println("json.Unmarshal failed:", err)
}

fmt.Println(data)

위 코드는 다음 결과를 출력합니다.

map[name:Tom age:29]

이런 방식으로, golang을 사용할 수 있습니다. 표준 라이브러리 json 패키지는 문자열 유형을 json 객체로 변환합니다.

위 내용은 golang 문자열 转json의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.