dynamic.go 535 B

123456789101112131415161718192021222324252627
  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. )
  6. var jsonStr = `[
  7. {"id": 17, "username": "iivan", "phone": 0},
  8. {"id": "17", "address": "none", "company": "Mail.ru"}
  9. ]`
  10. func main() {
  11. data := []byte(jsonStr)
  12. var user1 interface{}
  13. json.Unmarshal(data, &user1)
  14. fmt.Printf("unpacked in empty interface:\n%#v\n\n", user1)
  15. user2 := map[string]interface{}{
  16. "id": 42,
  17. "username": "rvasily",
  18. }
  19. var user2i interface{} = user2
  20. result, _ := json.Marshal(user2i)
  21. fmt.Printf("json string from map:\n %s\n", string(result))
  22. }