2.11 JSON 읽기 쓰기 3: JSON 파일 읽기

3537 단어 Go 언어 기초
개술
  • 로컬 파일은 JSOP 데이터를 저장하는 중요한 방안
  • 고 데이터를 JSON 문자열로 파일에 쓰는 과정을 인코딩
  • 이라고 한다.
  • 파일에서 JSON 문자열을 Go 데이터로 읽는 과정을 디코딩
  • 이라고 한다.
    가져오기 종속
    import (
        "encoding/json"
        "os"
        "fmt"
    )

    구조체 정의
    type PersonII struct {
        Name    string
        Age     int
        Sex     bool
        Hobbies []string
    }

    Go 데이터를 json 파일로 인코딩하고 구조체 인스턴스를 JSON 형식으로 파일에 쓰는 과정을 인코딩이라고 하는데 일반적인 단계는 다음과 같습니다.
  • Go 데이터 준비
  • 파일을 열고 파일 기반 JSON 인코더를 만듭니다
  • .
  • 파일에 Go 데이터 인코딩
  • func main31() {
        //  PersonII     
        xhz := PersonII{"   ", 60, true, []string{"   ", "   ", "    "}}
    
        //    (   )
        filePtr, err := os.Create("d:/   .json")
        if err!=nil{
            fmt.Println("      ,err=",err)
            return
        }
        defer filePtr.Close()
    
        //       JSON   
        encoder := json.NewEncoder(filePtr)
    
        //            
        err = encoder.Encode(xhz)
        if err!=nil{
            fmt.Println("    ,err=",err)
        }else{
            fmt.Println("    ")
        }
    }

    json 파일을 Go 데이터로 디코딩하고 파일에서 JSON 데이터를 Go 언어 데이터로 읽는 과정을 디코딩이라고 하는데 그 일반적인 절차는 다음과 같다.
  • JSON 문자열이 포함된 파일 열기
  • 파일 변경 기반 JSON 디코더 만들기
  • 디코딩 파일의 JSON 데이터를 해당하는 Go 데이터 포인터로
  • func main32() {
    
        //       
        var xhz PersonII
    
        //    
        filePtr, _ := os.Open("d:/   .avi")
        defer filePtr.Close()
    
        //      json   
        decoder := json.NewDecoder(filePtr)
    
        //        xhz    
        err := decoder.Decode(&xhz)
        if err!=nil{
            fmt.Println("    ,err=",err)
        }else {
            fmt.Printf("    :%#v
    "
    ,xhz) } }

    좋은 웹페이지 즐겨찾기