>백엔드 개발 >Golang >Go에서 JSON 파일을 JSON 객체로 읽는 방법은 무엇입니까?

Go에서 JSON 파일을 JSON 객체로 읽는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-11 10:19:02804검색

How to Read JSON Files as JSON Objects in Go?

Go에서 JSON 파일을 JSON 개체로 읽기

Go에서 JSON 파일을 JSON 개체로 읽으려면 개념을 이해하는 것이 중요합니다. 포인터 및 유형 어설션.

JSON 읽기 파일

plan, err := ioutil.ReadFile(filename)
if err != nil {
    log.Fatal(err)
}

데이터 비정렬화

JSON 개체를 저장하려면 Go 문서에 지정된 대로 변수에 대한 포인터가 필요합니다. :

var data interface{}
if err := json.Unmarshal(plan, &data); err != nil {
    log.Fatal(err)
}

이것은 가 가리키는 메모리 위치에 JSON 객체를 저장합니다. data.

JSON 객체 액세스

데이터는 인터페이스이므로 기본 값에 액세스하려면 유형 어설션을 사용해야 합니다.

switch data := data.(type) {
case map[string]interface{}:
    // Loop through the map as a JSON object
    for key, value := range data {
        fmt.Println(key, value)
    }
case []interface{}:
    // Loop through the slice as a JSON array
    for _, value := range data {
        fmt.Println(value)
    }
default:
    // Handle other types as needed
}

디버깅을 위한 마샬링

JSON을 봐야 하는 경우 디버깅 목적을 위해 객체를 문자열로 사용하려면 다음을 사용할 수 있습니다.

jsonString, err := json.Marshal(data)
if err != nil {
    log.Fatal(err)
}
fmt.Println(string(jsonString))

참고:

  • JSON 파일의 형식이 올바른지, 유효한 JSON이 포함되어 있는지 확인하세요. data.
  • 가능한 경우 빈 데이터 구조 대신 특정 데이터 구조를 사용하여 JSON을 채웁니다. 인터페이스.

위 내용은 Go에서 JSON 파일을 JSON 객체로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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