title: Defining custom go struct tags for protobuf message fields
body: <p>I am new to <code>grpc</code> and have been trying to just fetch a <code>json</code> response from a webserver. The stub can then request the <code>json</code> from the <code>rpc</code> server.</p>
  
  <p>In my <code>.proto</code> file, I created a message type:</p>
  
  <pre><code>message Post {
      int64 number = 1;
      string now = 2;
      string name = 3;
  }
  </code></pre>
  
  <p>But I am not able to marshal the <code>number</code> field, since <code>protoc</code> produces the struct <code>pb.go</code> file with a <code>number</code> tag:</p>
  
  <pre><code>{
          "no": "23",
          "now": "12:06:46",
          "name": "bob"
  }
  </code></pre>
  
  <p>How can I force the <code>Message</code> to be 'converted' with a tag other than the lowercase name of the message field? Such as using the <code>json</code> tag <code>no</code>, even if the field name in the <code>Message</code> is <code>number</code>.</p>