I’m trying to implement Any, including proper JSON and protobuf encoding, 
and the following scenario has me stumped:

Consider the following example from the google/protobuf/any.proto source 
file:

Sample proto file:
//     package google.profile;
//     message Person {
//       string first_name = 1;
//       string last_name = 2;
//     }

Resulting JSON encoding:
//     {
//       "@type": "type.googleapis.com/google.profile.Person",
//       "firstName": <string>,
//       "lastName": <string>
//     }

The scenario I’m trying to understand involves three systems:

Originating system:
* Knows google.profile and writes out the JSON above

Middle system:
* Reads the JSON example above
* Does *not* know google.profile (doesn’t have the descriptor and has no 
way to get it)
* Writes out protobuf

Receiving system:
* Knows google.profile and reads the protobuf

In particular:  What is the protobuf serialization between the middle and 
receiving systems?

Without the descriptor, the middle system cannot poduce the “real" protobuf 
binary format (it doesn't have the field numbers), so the only option would 
seem to be to serialize the JSON data as a protobuf Struct, which would 
have interesting implications for the receiving system. Am I missing some 
other option?

Tim

P.S.  Nice work on the conformance test suite, by the way!  That answered a 
*lot* of questions about the expected handling for protobuf JSON format.

-- 
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