Problem: You want to create JSON data from a struct.
Solution: Create the structs then use the json.Marshal or json.MarshalIndent to marshal the data into a JSON slice of bytes.
func main () { person := struct{} data , err := json . Marshal ( & person ) if err != nil { log . Println ( "Cannot marshal person:" , err ) } err = os . WriteFile ( "han.json" , data , 0644 ) if err != nil { log . Println ( "Cannot write to file" , err ) } }
The file is not very readable. If you want a more readable version, you can use json.MarshalIndent instead. You need to put in two more parameters: the first is the prefix, and the second is the indent. Mostly if you want to have a clean JSON output, the prefix is an empty string while the indent is a single space:
data , err := json . MarshalIndent ( & person , "" , " " )
标签:Creating,err,Arrays,json,person,JSON,want,data From: https://www.cnblogs.com/zhangzhihui/p/17740931.html