Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何将空结构封送为空数组_Arrays_Go_Struct_Marshalling - Fatal编程技术网

Arrays 如何将空结构封送为空数组

Arrays 如何将空结构封送为空数组,arrays,go,struct,marshalling,Arrays,Go,Struct,Marshalling,我不确定这个标题是否准确地解释了我想要做的事情,所以我会尽可能多地提供细节 我有一个带有嵌套结构的结构,我正在编组并发送给API。有些请求要求最低级别的结构为空,并且需要其父参数等于空数组而不是null。如果我在参数上使用ommitempty,它将从我的请求中完全删除它,请求将失败。如果在参数的参数上使用ommitempty,则会导致值为null,请求将失败 以下是我用于请求的结构: // SubscribeRequest is the top level wrapper for ICWS re

我不确定这个标题是否准确地解释了我想要做的事情,所以我会尽可能多地提供细节

我有一个带有嵌套结构的结构,我正在编组并发送给API。有些请求要求最低级别的结构为空,并且需要其父参数等于空数组而不是null。如果我在参数上使用ommitempty,它将从我的请求中完全删除它,请求将失败。如果在参数的参数上使用ommitempty,则会导致值为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"`
}
我需要封送的JSON如下所示:

{
    "clientStateIsFresh":true,
    "statisticKeys":
    [
        {
            "statisticIdentifier":"inin.system.interaction:ActiveCalls",
            "parameterValueItems":
            [

            ]
        }
    ]
}
如果我有任何其他信息,请求将失败。我没有得到任何错误,但它不会返回任何可用的数据。关于如何做到这一点有什么建议吗


*注意:我确实尝试使用[]*参数而不是[]参数,但它给出了相同的结果

如果需要空数组,则必须提供空切片

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

如果需要空数组,则必须提供空切片

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

您是否可以嵌入示例SubscribeRequest,以及您希望它如何序列化,以及它与您现在得到的有何区别。若你们可以分享一些有趣的代码,这些代码可能已经过时了,那个么你们可以嵌入示例SubscribeRequest,你们希望它如何序列化,以及它与你们现在得到的有什么不同。最好是你能分享一些有趣的代码,这些代码可能是过去做过的。谢谢你的快速回复!成功了。谢谢你的快速回复!