golang에서 json.Unmarshal 함수를 사용하여 JSON 문자열을 지도로 구문 분석합니다.
golang에서는 json.Unmarshal 함수를 사용하여 JSON 문자열을 지도로 구문 분석할 수 있습니다. json.Unmarshal은 JSON 데이터를 go 값으로 디코딩하는 함수입니다. 기본 구문은 다음과 같습니다.
func Unmarshal(data []byte, v interface{}) error
그 중 data는 파싱할 JSON 문자열이고, v는 파싱 결과를 저장하는 데 사용되는 go 값입니다.
이제 특정 코드 예제를 사용하여 json.Unmarshal 함수를 사용하여 JSON 문자열을 맵으로 구문 분석하는 방법을 보여드리겠습니다.
먼저 필요한 패키지를 가져와야 합니다.
import ( "encoding/json" "fmt" )
다음으로 구문 분석 결과를 저장할 구조를 정의합니다. JSON 문자열을 맵으로 구문 분석하므로 빈 인터페이스 유형을 구조 필드의 유형으로 사용하여 다양한 유형의 데이터를 저장할 수 있습니다.
type JsonMap struct { Data map[string]interface{} `json:"data"` }
그런 다음 JSON 문자열을 맵으로 구문 분석하고 구문 분석된 결과를 출력하는 함수를 작성할 수 있습니다.
func parseJSON(jsonStr string) (map[string]interface{}, error) { var jsonData JsonMap err := json.Unmarshal([]byte(jsonStr), &jsonData) if err != nil { return nil, err } return jsonData.Data, nil }
마지막으로 위 코드를 테스트하기 위한 메인 함수를 작성할 수 있습니다.
func main() { jsonStr := `{ "data": { "name": "John", "age": 30, "email": "john@example.com" } }` jsonData, err := parseJSON(jsonStr) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Name:", jsonData["name"]) fmt.Println("Age:", jsonData["age"]) fmt.Println("Email:", jsonData["email"]) }
위 코드를 실행하면 출력은 다음과 같습니다.
Name: John Age: 30 Email: john@example.com
위는 JSON 문자열을 맵으로 구문 분석하기 위해 golang의 json.Unmarshal 함수를 사용하는 구체적인 코드 예제입니다. 도움이 되었기를 바랍니다!
위 내용은 golang의 json.Unmarshal 함수를 사용하여 JSON 문자열을 맵으로 구문 분석합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!