It would be extremely surprising if Struct simply did not work for 
generically parsing JSON; it's in very wide usage both within and outside 
of Google.

Do you have a reproduction or references to the other people facing issues 
with it?

On Thursday, November 7, 2024 at 5:48:49 AM UTC-5 [email protected] 
wrote:

> Thanks for the response, I tried using Struct to send requests and 
> responses but on the server side I am only receiving  the empty response 
> every time.I checked online many people faced same issue so is it bug or 
> implementation problem.
>
> Any help is much appreciated. Thanks!
>
>
> On Wed, Nov 6, 2024 at 10:10 PM Austin Bennett <[email protected]> 
> wrote:
>
>> Might not work for all you need, but could try:  
>> https://protobuf.dev/reference/protobuf/google.protobuf/#struct
>>
>> In prior use cases, we've also treated things like your metadata field as 
>> a string, and then parsed the string field to extract anything relevant. 
>>
>> In general, I prefer to have the proto define anything in it that might 
>> be optional, rather than [ "could be anything" ].  That allows for some 
>> nicer handling, BUT means you also would want to be in sync with the data 
>> creator/producer, which isn't always possible.  
>>
>> Good luck!  
>>
>> On Wed, Nov 6, 2024 at 4:52 AM 'Ayush Shah' via Protocol Buffers <
>> [email protected]> wrote:
>>
>>> Newbie question... If I have the following sample "User" JSON data:
>>>
>>> {
>>>   firstName: 'Bob'
>>>   lastName: 'Smith',
>>>   email: '[email protected] <https://groups.google.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? I've 
>>> tried
>>>
>>> message User {
>>>   message Metadata {}
>>>
>>>   string email = 1;
>>>   string firstName = 2;
>>>   string lastName = 3;
>>>   Metadata metadata = 4;
>>> }
>>>
>>> or using `Any`
>>>
>>> message User {
>>>   string email = 1;
>>>   string firstName = 2;
>>>   string lastName = 3;
>>>   google.protobuf.Any details = 4;
>>> }
>>>
>>>
>>> but without success. Working within Node.js if relevant. Any help is 
>>> much appreciated. Thanks!
>>>
>>> -- 
>>> 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 view this discussion visit 
>>> https://groups.google.com/d/msgid/protobuf/276ff12e-a207-495a-9c92-adcc41b85b4an%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/protobuf/276ff12e-a207-495a-9c92-adcc41b85b4an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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 view this discussion visit 
https://groups.google.com/d/msgid/protobuf/ae62f443-d3eb-4132-a1c3-227bb249a43fn%40googlegroups.com.

Reply via email to