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.

Reply via email to