在Go中,json編解碼是很常見的操作。json通常被轉換成map來進行操作。但是在處理json map時,我們時常會遇到值為空的情況。對于json map里的空值如何處理,這里說一下。
首先,看下面這個例子:
var data map[string]interface{} jsonStr := `{"name": "Tom", "age": null}` json.Unmarshal([]byte(jsonStr), &data) fmt.Println(data)
這里我們的json里有一個值為null的鍵值對"age"。將這個json轉換成map,輸出data的結果為:
map[age:name:Tom]
這里我們可以看到,空值在Go里面被表示成了<nil>。那么如何判斷map中某個鍵對應的值是否為空呢?直接與nil做比較就行了。
// 判斷age是否為空 if data["age"] == nil { fmt.Println("age is nil") }
如果要在map中刪除某個鍵,可以使用delete()函數。例如:
// 刪除age delete(data, "age") fmt.Println(data)
以上就是關于Go json map空值的簡單介紹,希望對你有所幫助。