I was under the impression it wouldn't omit the array if it had zero 
length, hence my question.. 
i mean at some point we want an empty array in JSON, so I assume it's 
included by default

On Thursday, September 3, 2020 at 3:35:05 AM UTC-7 nishanth...@gmail.com 
wrote:

> > how do I omit an array on boolField if the array is empty?
>
> Do you mean how to omit an empty array's field in the serialized JSON? If 
> so, you can use "omitempty" like you did in the other type.
>
> var boolField struct {
>    Must []HasTermOrMatch `json:"must,omitempty"`
>    MustNot []HasTermOrMatch `json:"must_not,omitempty"`
>    Filter []HasTermOrMatch `json:"filter,omitempty"`
>    Should []HasTermOrMatch `json:"should,omitempty"`
> }
>
> This should omit the slice field in the serialized JSON if the slice is 
> nil or zero length.
> On Thursday, September 3, 2020 at 1:08:00 AM UTC+5:30 Alexander Mills 
> wrote:
>
>> I have this code used to construct an ElasticSearch json query:
>>
>> ```
>> type Term = map[string]interface{}
>> type QueryString = map[string]interface{}
>> type Range = map[string]interface{}
>> type Match = map[string]string
>>
>> type HasTermOrMatch = struct {
>> Term `json:"term,omitempty"`
>> QueryString `json:"query_string,omitempty"`
>> Match `json:"match,omitempty"`
>> Range `json:"range,omitempty"`
>> }
>>
>> var boolField struct {
>> Must []HasTermOrMatch `json:"must"`
>> MustNot []HasTermOrMatch `json:"must_not"`
>> Filter []HasTermOrMatch `json:"filter"`
>> Should []HasTermOrMatch `json:"should"`
>> }
>> ```
>>
>> my question is - how do I omit an array on boolField if the array is 
>> empty?
>>
>> I hear there might be an interface I can add something like this:
>>
>>
>> func (v Match) IsZero() bool {
>>    return len(v) < 1
>> }
>>
>> func (v Term) IsZero() bool {
>>    return len(v) < 1
>> }
>>
>> func (v Range) IsZero() bool {
>>    return len(v) < 1
>> }
>>
>> func (v QueryString) IsZero() bool {
>>    return len(v) < 1
>> }
>>
>>
>> anyone know how to do this?
>> thanks
>> -alex
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/7df1c875-ed2e-46c4-a6f3-2064485de805n%40googlegroups.com.

Reply via email to