> 백엔드 개발 > Golang > Go에서 JSON의 단일 값을 어떻게 효율적으로 구문 분석할 수 있나요?

Go에서 JSON의 단일 값을 어떻게 효율적으로 구문 분석할 수 있나요?

Susan Sarandon
풀어 주다: 2024-12-16 10:36:10
원래의
900명이 탐색했습니다.

How Can I Efficiently Parse Single Values from JSON in Go?

Go에서 JSON 단일 값 구문 분석

JSON 데이터 구문 분석은 프로그래밍에서 일반적인 작업입니다. Python에서는 복잡한 데이터 구조 없이 JSON 개체에서 특정 값을 얻는 것이 간단합니다. 그러나 Go에서는 구조체를 사용하여 JSON 데이터를 처리하는 것이 더 일반적입니다.

Go 접근 방식:

Go에서는 전통적으로 JSON 개체와 일치하도록 구조체가 선언됩니다. json.Unmarshal 함수는 JSON을 구조체로 역마샬링하는 데 사용됩니다. 그러나 이 접근 방식은 특히 특정 값에만 관심이 있는 경우 장황하고 불편할 수 있습니다.

대체 접근 방식:

Go에서 JSON 구문 분석을 단순화하려면 다음 대안을 고려하세요. 접근 방식:

JSON을 map[string]인터페이스{}로 디코딩합니다. 이는 JSON 키를 해당 값에 다음과 같이 매핑합니다. 인터페이스{}.

[] 연산자를 사용하여 원하는 JSON 키와 연결된 값에 액세스합니다.

값이 예상 유형이 아닌 경우 유형 어설션을 사용하여 적절하게 처리합니다. .

예:

다음은 이를 보여주는 Go 예입니다. 접근 방식:

import (
    "encoding/json"
    "fmt"
)

func main() {
    b := []byte(`{"ask_price":"1.0"}`)
    data := make(map[string]interface{})
    
    err := json.Unmarshal(b, &data)
    if err != nil {
        panic(err)
    }
    
    if price, ok := data["ask_price"].(string); ok {
        fmt.Println(price)
    } else {
        panic("wrong type")
    }
}
로그인 후 복사

이 예에서는 JSON을 맵으로 비정렬화한 다음 인쇄하기 전에 문자열에 형식으로 표시되는 "ask_price" 값을 추출합니다.

참고:

구조체는 Go에서 JSON 구문 분석에 계속 사용할 수 있지만 더 명확하고 더 명확할 수 있습니다. JSON에서 몇 가지 특정 값만 필요한 경우에는 필요하지 않습니다. 지도를 사용하는 대체 접근 방식은 JSON 데이터를 처리하는 더 간결하고 유연한 방법을 제공합니다.

위 내용은 Go에서 JSON의 단일 값을 어떻게 효율적으로 구문 분석할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿