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/CAEbFGqtofOqukzV6Nv6FVwcOkYBqWYJSqfHv9LFMyMCwbzz%3Dgg%40mail.gmail.com.
