无法在 go lang 中解析 JSON

我正在尝试使用带有 golang 的标签解析 JSON。我没有任何错误,但我的字段为空


这是我的代码:


type HandleConnection struct {

    session string `json:"session"`

    passwd  int   `json:"field1"`   

    salon string `json:"fied2"`

    color string `json:"field3"`

    state float64 `json:"field4"`

    message string `json:"field5"`


}


func connection(login string, passwd string) (*HandleConnection, error) {


    jsonParsedResponse := &HandleConnection{}


    resp, err := http.PostForm(ajaxUrl, url.Values{

        "q": {"bar"}, 

        "v": {"foo"},

        "identifiant": {login},

        "motdepasse": {passwd},

        "mode": {"0"},

        "decalageHoraire": {"0"},

        "option": {""},

        "salon": {"foo"},

    })


    if err != nil {

        return jsonParsedResponse , err

    }


    defer resp.Body.Close()


    body, err := ioutil.ReadAll(resp.Body)


    if err != nil {

        return jsonParsedResponse, err

    }


    err = json.Unmarshal(body, &jsonParsedResponse)


    if err != nil {

        return jsonParsedResponse, err

    }


    if jsonParsedResponse.state != 2 {

        return jsonParsedResponse, errors.New(jsonParsedResponse.message)

    }


    return jsonParsedResponse, nil

}

返回的json就是这样


{

  "field1": "foo",

  "fiel2": "bar",

  ...

}

我想知道在 go 中处理错误的更好方法是什么。


心有法竹
浏览 234回答 2
2回答

慕容3067478

您需要使用 Capitals 启动结构属性,以便它们是公共的并且解组可以访问这些字段。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go