Golang 将嵌套的 JSON 解码为嵌套的结构体

让我们看看下面的代码片段:


type Input struct {

    Value1   string

    Value2   string

    Value3   string

    Value4   string

    Nest         

}


type Nest struct {

    ID  string

}

input := &Input{}

decoder := json.NewDecoder(r.Body)

if err := decoder.Decode(&input); err != nil {

    fmt.Printf("something went wrong %v", err)

}

fmt.Printf("Json Input = %+v\n", input)

我通过cURL发送以下内容:


curl -k -vvv  -X POST -d '{"value1":"test", "value2":"Somevalue", "value3":"othervalue", "Nest":{"ID": "12345"}}' http://localhost:8000/endpoint

..并获得以下输出:


{Value1:test Value2:Somevalue Value3:othervalue Value4: Nest:{ID:}}

问题:


由于某种原因,我没有很好地解码嵌套结构。此外,我不确定这是我的代码还是我调用它的方式。


临摹微笑
浏览 412回答 1
1回答

至尊宝的传说

Nest被嵌入在Input。JSON{"value1":"test", "value2":"Somevalue", "value3":"othervalue", "ID": "12345"}将正确编组到您的Input.如果您想使用问题中的 JSON 正文,则必须更改Input为以下内容type Input struct {    Value1   string    Value2   string    Value3   string    Value4   string    Nest     Nest    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go