2 回答
TA贡献1895条经验 获得超7个赞
如果我正确理解问题,我会将结构转换为地图,然后检查您感兴趣的字段是否在地图中。
例如:
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贡献1829条经验 获得超7个赞
听起来您正在尝试访问,StreamEnabled或者StreamViewType您还没有首先确认是否StreamSpecification在 JSON 对象中提供了。
假设您将内部StreamSpecification作为对结构的引用,您需要确保它StreamSpecification不是nil:
if (instance.StreamSpecification == nil) {
// StreamSpecification was not passed in the JSON.
}
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报