testjson.go 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package main
  2. import (
  3. "encoding/json"
  4. //"github.com/goccy/go-json"
  5. "fmt"
  6. )
  7. type rpingType struct {
  8. NNNN string `json:"nnnn"`
  9. TTTT string `json:"tttt"`
  10. }
  11. type task struct {
  12. Name *rpingType `json:"name"`
  13. Age int `json:"age"`
  14. Hobbies []string `json:"hobbies"`
  15. }
  16. func main() {
  17. input := `[{
  18. "name": {"nnnn":"11111", "tttt":"aaaa" },
  19. "age": 11,
  20. "hobbies": ["1111", "11", "111"]
  21. },{
  22. "name": {"nnnn":"2222", "tttt":"bbbb" },
  23. "age": 22222,
  24. "hobbies": ["222", "222", "2222222"]
  25. },{
  26. "name": {"nnnn":"333", "tttt":"ccccccccc" },
  27. "age": 3333,
  28. "hobbies": ["33333", "3", "33"]
  29. }]`
  30. for i:=0 ; i<100 ; i++ {
  31. var target []*task
  32. err := json.Unmarshal([]byte(input), &target)
  33. if err != nil {
  34. fmt.Printf("Unable to marshal JSON due to %s", err)
  35. }
  36. for _, v := range target {
  37. fmt.Printf("%v, %v \n", v.Name, v)
  38. }
  39. fmt.Printf("====== \n")
  40. }
  41. }