Go語言中,字符串(string)是一個(gè)非常重要的數(shù)據(jù)類型,我們經(jīng)常需要將字符串轉(zhuǎn)為JSON格式。下面我們就介紹一下如何在Go語言中將字符串(string)轉(zhuǎn)為JSON。
import (
"encoding/json"
"fmt"
)
func main() {
str := "hello world"
b, err := json.Marshal(str)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(b))
}
這是一個(gè)簡單的例子。我們使用了json.Marshal()函數(shù)將字符串(str)轉(zhuǎn)為JSON格式。返回的結(jié)果是[]byte類型的,所以我們將它轉(zhuǎn)為string類型輸出。
我們還可以將字符串轉(zhuǎn)為JSON格式的數(shù)組或者對象。下面是一個(gè)例子。
import (
"encoding/json"
"fmt"
)
func main() {
str := `{"name":"Tom","age":18}`
var m map[string]interface{}
err := json.Unmarshal([]byte(str), &m)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(m)
}
我們使用了json.Unmarshal()函數(shù)將字符串(str)解析成一個(gè)map類型的對象。由于json.Unmarshal()解析的結(jié)果是interface{}類型的,我們需要進(jìn)行類型斷言,以便獲取其中的值。
總結(jié)來說,Go語言中將字符串轉(zhuǎn)為JSON非常簡單,只需要使用json.Marshal()函數(shù)或者json.Unmarshal()函數(shù),具體取決于我們需要轉(zhuǎn)換成什么類型的JSON格式。