Golang Go语言中大佬们求解一个 map 无序的问题

发布于 1周前 作者 yuanlaile 来自 Go语言

Golang Go语言中大佬们求解一个 map 无序的问题

要求:需要根据用户传入的 jsonStr 中的nameuser_id的顺序拼接其值。

代码:

package main

import ( “encoding/json” “fmt” “reflect” )

func main() { jsonStr := {"name":"tom","user_id":"123"} // 这是传入的参数,name 与 user_id 顺序不能确定先后 var str string m := make(map[string]interface{}) _ = json.Unmarshal([]byte(jsonStr), &m)

v := reflect.ValueOf(m)
keys := v.MapKeys()
for _, key := range keys {
	v1 := v.MapIndex(key).Interface().(string)
	str += v1
}
fmt.Println(str)
// 由于 map 无序,不能固定输出:tom123
// 如何保持与 json 中键一致,固定输出?
// 比如若 json_str := `{"user_id":"123""name":"tom"}` 则输出 123tom

}

在线运行: https://play.golang.org/p/_ZMfsISpKWz

还请大佬们赐教,感激不尽。


更多关于Golang Go语言中大佬们求解一个 map 无序的问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

回到顶部