登录
首页 >  Golang >  Go问答

获取 JSON 值的方法基于其他 JSON 值

来源:stackoverflow

时间:2024-02-19 12:54:25 432浏览 收藏

你在学习Golang相关的知识吗?本文《获取 JSON 值的方法基于其他 JSON 值》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我在 go 中有一个来自 xml resp body 的结构:

{ 
    "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的值有不同的val和不同的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

你可以使用map代替嵌套结构,例如

var mymap map[string]map[string]interface{}

var myMap map[string]interface{}

或者你想要的一切。

到这里,我们也就讲完了《获取 JSON 值的方法基于其他 JSON 值》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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