2 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果我正確理解問題,我會(huì)將結(jié)構(gòu)轉(zhuǎn)換為地圖,然后檢查您感興趣的字段是否在地圖中。
例如:
package main
import (
"encoding/json"
"fmt"
)
type MyStruct struct {
Name string
Score int
}
func main() {
ms := MyStruct{Name: "Amy", Score: 34}
var myMap map[string]interface{}
data, _ := json.Marshal(ms)
fmt.Println(data)
json.Unmarshal(data, &myMap)
fmt.Println(myMap)
_, ok := myMap["Name"]
fmt.Printf("name is in myMap: %t\n", ok)
_, ok = myMap["Location"]
fmt.Printf("Location is in myMap: %t\n", ok)
}

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
聽起來您正在嘗試訪問,StreamEnabled或者StreamViewType您還沒有首先確認(rèn)是否StreamSpecification在 JSON 對(duì)象中提供了。
假設(shè)您將內(nèi)部StreamSpecification作為對(duì)結(jié)構(gòu)的引用,您需要確保它StreamSpecification不是nil:
if (instance.StreamSpecification == nil) {
// StreamSpecification was not passed in the JSON.
}
- 2 回答
- 0 關(guān)注
- 158 瀏覽
添加回答
舉報(bào)