gpt4 book ai didi

json - 从空的 Payload 结构中获取字段

转载 作者:数据小太阳 更新时间:2023-10-29 03:36:52 24 4
gpt4 key购买 nike

我是 Golang 新手,使用的是 Go library用于处理来自 Github 的一些 webhook 事件。

我可以访问此处定义的 Deployment 的 Payload 结构:

https://github.com/go-playground/webhooks/blob/v3/github/payload.go#L384

库解析 webhook JSON 负载并构建它。这是一个自定义字段,即它是一个 HashMap /字典,其字段可以由客户端自定义设置。

所以我认为它被库定义为一个空结构。如何从此结构中提取名为“foo”的特定字段?

最佳答案

现在您可以实现的目标有一定的限制,但是通过使用 reflect 包,您可以轻松地检查您的对象是否为空:

package main

import (
"fmt"
"reflect"
"strconv"
)

type emptiness struct {}

type thing struct {
stuff string
}

func main() {
e := emptiness{}

t := thing{
stuff: "present",
}
fmt.Println(t.stuff)
v := reflect.ValueOf(t)
fmt.Println(strconv.Itoa(v.NumField()))
v = reflect.ValueOf(e)
fmt.Println(strconv.Itoa(v.NumField()))

if v.NumField() == 0 {
// handle your empty object accordingly
}
}

编辑:忘记添加 runnable example's link .您可以使用它并使用 reflect 获取更多信息,但如果您只想检查它是否为空,这将起作用。

关于json - 从空的 Payload 结构中获取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com