golang

2014-01-30 5 views
4
내가 JSON 파일의 다음의 구문을 분석하는 코드 이동 쓰기를 시도하고

을이 JSON 파일을 구문 분석 할 수 없습니다 :golang

{ 
    "peers": [ 
     { 
      "pid": 1, 
      "address": "127.0.0.1:17001" 
     }, 
     { 
      "pid": 2, 
      "address": "127.0.0.1:17002" 
     } 
    ] 
} 

지금까지 수행이 코드를 작성할 것입니다 수있는 무엇 :

package main 

import (
    "fmt" 
    "io/ioutil" 
    "encoding/json" 
) 

type Config struct{ 
    Pid int 
    Address string 
} 

func main(){ 
    content, err := ioutil.ReadFile("config.json") 
    if err!=nil{ 
     fmt.Print("Error:",err) 
    } 
    var conf Config 
    err=json.Unmarshal(content, &conf) 
    if err!=nil{ 
     fmt.Print("Error:",err) 
    } 
    fmt.Println(conf) 
} 
을 코드 위

하나를 다음과 같이 비 중첩 된 JSON 파일을 작동합니다

{ 
    "pid": 1, 
    "address": "127.0.0.1:17001" 
} 

을하지만, 심지어 Config struct 많은 t을 변경 한 후 imes. 나는 질문의 시작 부분에 언급 된 json 파일을 파싱 할 수 없다. 누군가 어떻게 진행할 수 있는지 말해 줄 수 있습니까?

답변

8

당신은 당신의 JSON 구조를 매핑하는 다음과 같은 구조체 정의를 사용할 수 있습니다

type Peer struct{ 
    Pid int 
    Address string 
} 

type Config struct{ 
    Peers []Peer 
} 

Example on play합니다.

+0

감사합니다. 그게 바로 제가 찾던 것입니다. –