Can Celasun created THRIFT-4011:
-----------------------------------

             Summary: Sets/Lists of Thrift structs generate Go code that can't 
be serialized to JSON
                 Key: THRIFT-4011
                 URL: https://issues.apache.org/jira/browse/THRIFT-4011
             Project: Thrift
          Issue Type: Bug
          Components: Go - Compiler
            Reporter: Can Celasun


Consider the following structs:

{code}
struct Foo {
  1: optional string foo
}

struct Bar {
  1: optional set<Foo> foos
}
{code}

This compiles into the following Go code:

{code}
type Bar struct {
        Foos map[*Foo]struct{} `thrift:"foos,1" db:"foos" json:"foos,omitempty"`
}
{code}

Even though the generated code has tags for JSON support, Bar can't be 
serialized to JSON:
{code}
json: unsupported type: map[*Foo]struct {}
{code}

One solution would be to use slices, not maps, for Thirft sets ands lists. 
Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to