I think we need more details: Are you using C++ or Java or Python or Ruby or C# or some other language?
What version of protoc? Can you show the code you’re using to create the message? Tim > On Nov 16, 2016, at 5:02 AM, Bojan D <[email protected]> wrote: > > Thanks for the answer. Somehow I missed the Protocol Buffers Well-Known Types > page in the docs / protobuf website. > > I still have issue creating an instance of the message. For example if I have > a plain object: > > { > firstName: 'Bob' > lastName: 'Smith', > email: '[email protected] <http://gmail.com/>', > metadata: { > foo: 'bar', > active: true > } > } > > And I try to create an instance of the message (to be sent via grpc) I get > error > > .google.protobuf.Struct#foo is not a field: undefined > > Same thing if I use google.protobuf.Value. I've tried numerous ways of doing > this but can't seem to accomplish it. I must be missing something. Anyone > have any ideas. > > Thanks for the help again. > > Bojan > > On Tuesday, 15 November 2016 15:57:20 UTC-4, Tim Kientzle wrote: > >> On Nov 15, 2016, at 9:15 AM, Bojan D <dbo...@ <>gmail.com >> <http://gmail.com/>> wrote: >> >> Newbie question... If I have the following sample "User" JSON data: >> >> { >> firstName: 'Bob' >> lastName: 'Smith', >> email: 'b...@ <>gmail.com <http://gmail.com/>', >> metadata: { >> // a plain JS object that >> // - will always exist and be at least an empty {} object >> // - could potentially contain any number of properties and values, >> depending on specific "user" >> } >> } >> >> How do I represent the metadata property within proto definition? > > > You want to use the well-known types “Struct” or “Value”, which are > specifically designed to support ad hoc JSON parsing. “Struct” supports > parsing any valid JSON object structure, “Value” can parse any valid JSON: > > message User { > string email = 1; > string firstName = 2; > string lastName = 3; > google.protobuf.Struct metadata = 4; > } > > > Tim > > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/protobuf > <https://groups.google.com/group/protobuf>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
