package main
import("encoding/json""fmt""log")type Person struct{ Name string`json:"name"` Age int`json:"age"` Birthday string`json:"birth"`}funcmain(){// // JSON data to be converted to a struct jsonData :=`{"name": "Alice", "age": 30, "birth": "1994/03/03"}`// Convert JSON to structvar person Person
err := json.Unmarshal([]byte(jsonData),&person)if err !=nil{ log.Fatalf("Error converting JSON to struct: %v", err)} fmt.Printf("Struct: %+v\n", person)// Convert struct back to JSON newJsonData, err := json.Marshal(person)if err !=nil{ log.Fatalf("Error converting struct to JSON: %v", err)} fmt.Printf("JSON: %s\n", newJsonData)}
json-array.go
Copied!!
package main
import("encoding/json""fmt""log")type Person struct{ Name string`json:"name"` Age int`json:"age"` Birthday string`json:"birth"`}type Persons []Person
funcmain(){ jsonArray :=`[{"name": "Alice", "age": 30, "birth": "1994/03/03"},{"name": "Hikaru", "age": 25, "birth": "1999/01/01"}]`var persons Persons
err := json.Unmarshal([]byte(jsonArray),&persons)if err !=nil{ log.Fatalf("Error converting JSON to struct: %v", err)} fmt.Printf("List of struct: %+v\n", persons) newJsonArray, err := json.Marshal(persons)if err !=nil{ log.Fatalf("Error converting struct to JSON: %v", err)} fmt.Printf("JSON: %s\n", newJsonArray)}