写一个东西:一个字符串json,转成一个直接可用的map,字符串可能是任何形式

参考解析

题目来源:字节

答案:

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. )
  6. //把请求包定义成一个结构体
  7. type Requestbody struct {
  8. req string
  9. }
  10. func (r *Requestbody) Json2map() (s map[string]interface{}, err error) {
  11. var result map[string]interface{}
  12. if err := json.Unmarshal([]byte(r.req), &result); err != nil {
  13. return nil, err
  14. }
  15. return result, nil
  16. }
  17. func main() {
  18. //json转map
  19. var r Requestbody
  20. r.req = `{"name": "xym","sex": "male"}`
  21. if req2map, err := r.Json2map(); err == nil {
  22. fmt.Println(req2map["name"])
  23. fmt.Println(req2map)
  24. } else {
  25. fmt.Println(err)
  26. }
  27. }