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 <dbo...@gmail.com> 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: 'b...@gmail.com <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 protobuf+unsubscr...@googlegroups.com 
> <mailto:protobuf+unsubscr...@googlegroups.com>.
> To post to this group, send email to protobuf@googlegroups.com 
> <mailto:protobuf@googlegroups.com>.
> 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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to