Hello @Siddharth, @John,

Did you guys found any solution around it. We are also stuck at very same 
thing.

On Friday, August 17, 2018 at 3:36:29 PM UTC+5:30, Siddharth Kherada wrote:
>
> Can I please get an example of how to do this is any language with proto 
> file?
>
> I desperately need help with this. I am stuck for a week now on this issue.
>
> Thanks,
> Sid
>
> On Thursday, 21 June 2018 15:32:46 UTC-4, Josh Humphries wrote:
>>
>> Oops, I meant to point you to google.protobuf.Value: 
>> https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto#L63
>>
>> It can represent *any* kind of JSON value. The Struct type is what is 
>> used to represent JSON *objects* (there is also ListValue, for arrays, 
>> as well as support for JS primitive types and null).
>>
>>
>> ----
>> *Josh Humphries*
>> [email protected] <javascript:>
>>
>> On Thu, Jun 21, 2018 at 3:25 PM, Josh Humphries <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hi, John,
>>> Take a look at the well-known type google.protobuf.Struct. It is 
>>> basically a JSON value, modeled as a proto. It's JSON representation is 
>>> exactly what you want, too:
>>>
>>>
>>> https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto#L52
>>>
>>>
>>>
>>> ----
>>> *Josh Humphries*
>>> [email protected] <javascript:>
>>>
>>> On Thu, Jun 21, 2018 at 3:20 PM, John Lilley <[email protected] 
>>> <javascript:>> wrote:
>>>
>>>> Disclaimer: I am totally new to protobuf, engaged in an exploratory 
>>>> POC.  Please forgive dumb questions :-)
>>>>
>>>> We are looking at migrating an existing, JSON-based protocol in which 
>>>> hand-coded C++ is written to perform serdes between objects and JSON. We 
>>>> want to replace the hand-coding with an automated approach that can be 
>>>> shared between C++ and Java.  However, a stumbling block I see is that 
>>>> some 
>>>> messages have an arbitrary field full of JSON like:
>>>>
>>>> {
>>>>    "name":"john", 
>>>>    "address":"123 main st",
>>>>    "attributes":{ any JSON can go here }
>>>> }
>>>>
>>>> While I realize that we could stringify the JSON, this breaks our 
>>>> published API.  Is there any way I can use protobuf to perform serdes 
>>>> between message like this and some struct like:
>>>>
>>>> {
>>>>    string name;
>>>>    string address;
>>>>    json attributes;
>>>> }
>>>>
>>>> I'm even OK if the internal data is stringified JSON:
>>>>
>>>> {
>>>>    string name;
>>>>    string address;
>>>>    string attributes;
>>>> }
>>>>
>>>> So long as the exchanged JSON isn't stringified.  In other words, this 
>>>> is bad:
>>>> {
>>>>    "name":"john", 
>>>>    "address":"123 main st",
>>>>    "attributes":"{ \"attr1\":\"value1\", \"attr2\":[\"elem1\", 
>>>> \"elem2\"] }"
>>>> }
>>>>
>>>> It needs to be exchanged like
>>>> {
>>>>    "name":"john", 
>>>>    "address":"123 main st",
>>>>    "attributes":{ "attr1":"value1", "attr2":["elem1", "elem2"] }"
>>>> }
>>>>
>>>> Is this possible?
>>>>
>>>> Thanks
>>>> john
>>>>
>>>> -- 
>>>> 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] <javascript:>.
>>>> To post to this group, send email to [email protected] 
>>>> <javascript:>.
>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>> For more options, visit 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