Go語言內(nèi)嵌JSON是一種常用的數(shù)據(jù)格式化方法。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于Web領(lǐng)域。Go語言內(nèi)置了對(duì)JSON的支持,可用于將數(shù)據(jù)轉(zhuǎn)換為JSON格式,也可以將JSON格式的數(shù)據(jù)解析成Go語言中的數(shù)據(jù)類型。
package main import ( "encoding/json" "fmt" ) type Book struct { Title string `json:"title"` Author string `json:"author"` Price int `json:"price"` } func main() { book := Book{ Title: "The Go Programming Language", Author: "Alan A. A. Donovan & Brian W. Kernighan", Price: 35, } // 將結(jié)構(gòu)體轉(zhuǎn)為JSON格式的字符串 jsonStr, err := json.Marshal(book) if err != nil { fmt.Println(err) return } fmt.Println(string(jsonStr)) // 解析JSON格式的字符串為結(jié)構(gòu)體 var newBook Book err = json.Unmarshal(jsonStr, &newBook) if err != nil { fmt.Println(err) return } fmt.Println(newBook) }
在上述代碼中,我們定義了一個(gè)Book結(jié)構(gòu)體,然后使用json包將其編碼為JSON格式的字符串。編碼后,輸出的字符串如下:
{ "title": "The Go Programming Language", "author": "Alan A. A. Donovan & Brian W. Kernighan", "price": 35 }
我們還使用json包將JSON格式的字符串解析為一個(gè)新的Book結(jié)構(gòu)體。結(jié)果為:
{The Go Programming Language Alan A. A. Donovan & Brian W. Kernighan 35}
可以看到,我們成功地將一個(gè)結(jié)構(gòu)體轉(zhuǎn)換為JSON格式的字符串,然后解析成一個(gè)新的結(jié)構(gòu)體。
上一篇html弄視頻代碼