title: Unable to unmarshal json to protobuf struct field
body: <p>I have a proto file similar to this.</p>
  
  <pre><code>syntax = "proto3";
  package proto;
  import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  import "google/protobuf/struct.proto";
  
  
  message JobCreateRequest {
      string Name = 1 [(gogoproto.jsontag) = "name", (gogoproto.moretags)= "validate:\"required,max=100\""];
      string Description = 2 [(gogoproto.jsontag) = "description", (gogoproto.moretags) = "validate:\"required,max=100\""];
      google.protobuf.Value Data = 3 [(gogoproto.jsontag) = "data", (gogoproto.moretags) = "validate:\"required\""];
  }
  </code></pre>
  
  <p>I am trying to unmarshal below json into protobuf using "encoding/json" library:</p>
  
  <pre><code>{
   "name": "India",
   "description": "test job",
   "data": { 
      "id": 1 
    }
  }
  </code></pre>
  
  <p>The code to decode request json to protobuf is:</p>
  
  <pre><code>json.NewDecoder(r.Body).Decode(req)
  </code></pre>
  
  <p>But the resulting Data field inside JobCreateRequest struct is always set to <strong>nil</strong>. What is the right way to use struct Value in protobuf?</p>