I've been struggling with passing a JSON with Message values back and forth between a browser (grpc-web) and server (python grpc). A Struct seems to be the way but even though the struct I'm sending looks perfectly fine, it is empty once received by the server.
```
// proto
message Result {
google.protobuf.Struct variables = 1;
}
// obj - Where variables would contain a (1 level deep) JSON with different types of values, e.g.:
{
"key1": 1,
"key2": true,
"key3": proto_msg_a //instance of proto.MessageA
}
// code (js in browser using grpc-web)
struct = new proto.google.protobuf.Struct(obj);
req = new Request;
req.variables = struct;
```
Checking `req.variables` before sending shows that it's indeed a `Struct` with all the correct fields in it. But once the other end (server) receives it `req.variables` is an empty `Struct`. For testing purposes I tried an `obj` that is simply `{'key': 'value'}`, but the result was the same.
I would really like to use proto messages in variables. The reason for picking protobuf/grpc was exactly this, being able to use the same type throughout our complete platform, but this seems to be blocking this goal. Did I miss something? What would you do?