Golang Go语言中大佬们求解一个 map 无序的问题
Golang Go语言中大佬们求解一个 map 无序的问题
要求:需要根据用户传入的 jsonStr 中的name
和user_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