go处理json中的数组


// json字符串
"Bottom": [
{
"ID": 1425,
"name": "name1"
},
{
"ID": 1426,
"name": "name2"
}
]}`


// 核心方法利用reflect.Typeof(mm).Kind()
// 利用反射先遍历slice的值,再进行类型转换
func Map2Array(m map[string]interface{}) []map[string]interface{} {
    var list []map[string]interface{}
    if reflect.TypeOf(m).Kind() == reflect.Slice {
        s := reflect.ValueOf(m)
        for i := 0; i < s.Len(); i++ {
            ele := s.Index(i)
            list = append(list, ele.Interface().(map[string]interface{}))
        }
    }
    return list
}

// 测试
func main(){
    // 此处引用"github.com/tidwall/gjson"用于json字符串转map
    m, ok := gjson.Parse(bottom).Value().(map[string]interface{})
    if !ok {
        log.Println(ok)
        return
    }

    list:=Map2Array(m["Bottom"])
    log.Println(list[0]["name"])
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM