fork download
  1. package main
  2.  
  3. import (
  4. "encoding/json"
  5. "fmt"
  6. )
  7.  
  8. func main() {
  9. jsonPayloads := []string{
  10. `{"name": "Alice", "age": 25}`,
  11. `[1, 2, 3, 4]`,
  12. `"A simple string"`,
  13. `true`,
  14. `42`,
  15. `{"nested": {"key": "value"}, "array": [1, 2, 3]}`,
  16. }
  17.  
  18. for _, payload := range jsonPayloads {
  19. var data interface{} // Can hold any JSON type
  20. if err := json.Unmarshal([]byte(payload), &data); err != nil {
  21. fmt.Println("Error unmarshalling JSON:", err)
  22. continue
  23. }
  24. fmt.Printf("Unmarshalled Data (%T): %v\n", data, data)
  25. }
  26. }
  27.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
Unmarshalled Data (map[string]interface {}): map[age:25 name:Alice]
Unmarshalled Data ([]interface {}): [1 2 3 4]
Unmarshalled Data (string): A simple string
Unmarshalled Data (bool): true
Unmarshalled Data (float64): 42
Unmarshalled Data (map[string]interface {}): map[array:[1 2 3] nested:map[key:value]]