Merge pull request #167 from kortschak/issue165

Don't retain results where the value is empty
This commit is contained in:
Barak Michener 2014-09-23 20:13:37 -04:00
commit cfa2cc647a

View file

@ -210,17 +210,22 @@ func (s *Session) BuildJSON(result interface{}) {
if data.val == nil { if data.val == nil {
obj := make(map[string]string) obj := make(map[string]string)
tags := data.actualResults tags := data.actualResults
tagKeys := make([]string, len(tags)) var tagKeys []string
i := 0
for k := range tags { for k := range tags {
tagKeys[i] = k tagKeys = append(tagKeys, k)
i++
} }
sort.Strings(tagKeys) sort.Strings(tagKeys)
for _, k := range tagKeys { for _, k := range tagKeys {
obj[k] = s.qs.NameOf(tags[k]) name := s.qs.NameOf(tags[k])
if name != "" {
obj[k] = name
} else {
delete(obj, k)
} }
}
if len(obj) != 0 {
s.dataOutput = append(s.dataOutput, obj) s.dataOutput = append(s.dataOutput, obj)
}
} else { } else {
if data.val.IsObject() { if data.val.IsObject() {
export, _ := data.val.Export() export, _ := data.val.Export()