登录
首页 >  Golang >  Go问答

如何根据其他 JSON 值获取 JSON 值

来源:Golang技术栈

时间:2023-04-25 14:53:48 219浏览 收藏

哈喽!今天心血来潮给大家带来了《如何根据其他 JSON 值获取 JSON 值》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到golang,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我在 Go 中有一个来自 XML resp 正文的结构:

{ 
    "pdp":{
        "sellableUnits":[
            {
                "attributes":[
                    {
                        "id":"22555278",
                        "type":"size",
                        "value":"03.5"
                    }
            ]
        }
    ]
}
}


type sizeJ struct {
    PDP struct {
        SellableUnits []struct {
            Attributes []struct {
                ID    string `json:"id"`
                Type  string `json:"type"`
                Val string `json:"value"`
            } `json:"attributes"`
        } `json:"units"`
    } `json:"pdp"`
}

根据 Val 的值,有不同的 Vals 和不同的 ID。

正确答案

使用for循环,range如果你喜欢的话。

func getValByID(j sizeJ, id string) string {
    for _, u := range j.PDP.SellableUnits {
        for _, a := range u.Attributes {
            if a.ID == id {
                return a.Val
            }
        }
    }
    return ""
}

func getIDByVal(j sizeJ, val string) string {
    for _, u := range j.PDP.SellableUnits {
        for _, a := range u.Attributes {
            if a.Val == val {
                return a.ID
            }
        }
    }
    return ""
}

https://play.golang.org/p/LjPrs1yGKGc

好了,本文到此结束,带大家了解了《如何根据其他 JSON 值获取 JSON 值》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>