gpt4 book ai didi

arrays - 如何将一个空结构编码(marshal)为一个空数组

转载 作者:行者123 更新时间:2023-12-01 21:15:08 25 4
gpt4 key购买 nike

我不确定标题是否能准确说明我要做什么,所以我将尽力提供尽可能多的细节。

我有一个带有嵌套结构的结构,正在将其编码并发送给API。有些请求要求最低级别的结构为空,并且我需要其父参数等于空数组而不是null。如果我在参数上使用omitempty,它将把它从我的请求中完全删除,请求将失败。如果我在参数的参数上使用omitempty,它将导致该值为null,并且请求将失败。

这是我用于请求的结构:

// SubscribeRequest is the top level wrapper for ICWS request bodies
SubscribeRequest struct {
ClientStateIsFresh bool `json:"clientStateIsFresh"`
StatisticKeys []StatisticKey `json:"statisticKeys"`
}

// StatisticKey is a value we want to pull from ICWS reporting
StatisticKey struct {
StatisticIdentifier string `json:"statisticIdentifier"`
ParameterValueItems []Parameter `json:"parameterValueItems"`
}

// Parameter is a filter applied when pulling statistics
Parameter struct {
ParameterTypeID string `json:"parameterTypeId"`
Value string `json:"value"`
}

我需要编码(marshal)处理的JSON看起来像这样:
{
"clientStateIsFresh":true,
"statisticKeys":
[
{
"statisticIdentifier":"inin.system.interaction:ActiveCalls",
"parameterValueItems":
[

]
}
]
}

如果我除此以外,则请求失败。我没有收到任何错误,但是它没有返回任何可用的数据。关于如何做到这一点的任何建议?

*注意:我确实尝试使用[] * Parameter而不是[] Parameter,但这给了我相同的结果。

最佳答案

如果需要一个空数组,则必须提供一个空 slice 。

StatisticKey{
StatisticIdentifier: "id.string",
ParameterValueItems: []Parameter{},
}

关于arrays - 如何将一个空结构编码(marshal)为一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41596613/

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