猿问

戈朗尝试解封物体阵列

您好,我试图取消marshax字段中数组的值,但尝试返回空数组,我不知道原因。任何人都可以帮我吗?代码如下:


package main


import (

    "fmt"

    "encoding/json"

)


func main() {

    fmt.Println("Hello, playground")

    type order struct {

        Uid             string              `json:"uid"`

        Name            string              `json:"name"`

                State           string              `json:"state"`

    }

    type Root struct {

    q []order

    }


    s := `{"q":[{"uid":"0x4ecb99b9","name":"Brandon Test Order","state":"draft"}]}`


    var r Root

    ero := json.Unmarshal([]byte(s), &r)

    if ero != nil {

        fmt.Println("error order")

        fmt.Println(ero)

    }

    fmt.Println("order")

    fmt.Println(r.q)

    return

}


这是输出结果


Hello, playground

order

[]


BIG阳
浏览 72回答 2
2回答

烙印99

看起来您的结构和 Json 标记不匹配。请使用以下重构的代码。你可以在这里找到关于游乐场的工作片段。此外,订单必须导出。         type order struct {        Uid   string `json:"uid"`        Name  string `json:"name"`        State string `json:"state"`    }    type Root struct {        Orders []order `json:"q"`    }

喵喔喔

试试这个结构type GetOrder struct {    Orders []struct {        Uid       string `json:"uid"`        Name      string `json:"name"`        State     string `json:"state"`    } `json:"q"`}
随时随地看视频慕课网APP

相关分类

Go
我要回答