在 Golang 中,生成一個(gè)空的 JSON 對象可以用如下代碼:
package main import ( "encoding/json" "fmt" ) func main() { var emptyInterface interface{} emptyMap := make(map[string]interface{}) emptySlice := make([]interface{}, 0) emptyInterface = emptyMap emptyInterface = emptySlice emptyJSON, _ := json.Marshal(emptyInterface) fmt.Println(string(emptyJSON)) }
以上的代碼中,我們定義了三個(gè)變量:emptyInterface
、emptyMap
和emptySlice
,分別對應(yīng)空接口、空 map 和空 slice。
下面通過幾個(gè)簡單的步驟組合成一個(gè)空的 JSON 對象:
- 將
emptyMap
賦值給emptyInterface
- 將
emptySlice
賦值給emptyInterface
- 使用
json.Marshal
函數(shù)將emptyInterface
轉(zhuǎn)成 JSON 格式的字符串
對于外部調(diào)用,可以將以上代碼塊封裝成一個(gè)函數(shù),如下所示:
func GetEmptyJSON() (string, error) { var emptyInterface interface{} emptyMap := make(map[string]interface{}) emptySlice := make([]interface{}, 0) emptyInterface = emptyMap emptyInterface = emptySlice emptyJSON, err := json.Marshal(emptyInterface) if err != nil { return "", err } return string(emptyJSON), nil }
這樣,我們就可以方便地獲取一個(gè)空的 JSON 對象了。