Yeah, it's precisely the fact that protoc populates that field regardless 
of whether it was specified that I consider 
bad. https://github.com/protocolbuffers/protobuf/issues/5587

I'm probably way too late to get it fixed, though: it looks like 3.1.0 
introduced that behavior :-(

Zellyn

On Wednesday, January 16, 2019 at 12:23:17 PM UTC-5, Josh Humphries wrote:
>
> Hey, Zellyn,
> I don't think it's possible for protoc-gen-go to do what you're asking. 
> IIRC, protoc itself always populates this field in the field descriptor. So 
> I don't think a plugin can actually make this distinction -- at least not 
> without a change to protoc. And the downside to a change to protoc is that 
> it would require all code-gen plugins (and/or runtime libraries that 
> implement the JSON encoding) to have redundant logic for computing the 
> canonical JSON name from the proto name.
>
> ----
> *Josh Humphries*
> [email protected] <javascript:>
>
>
> On Wed, Jan 16, 2019 at 10:10 AM Zellyn <[email protected] <javascript:>> 
> wrote:
>
>> A quick followup: a reason that including a json name for every field in 
>> the descriptor is bad: it makes it impossible to tell whether an explicit 
>> json_name was specified or not. So it would be impossible to give jsonpb a 
>> mode (which it needs, imho) where it uses the protobuf field names as-is, 
>> unless an explicit json_name was specified.
>>
>> Or am I understanding it wrong?
>>
>> Zellyn
>>
>>
>> On Tuesday, January 15, 2019 at 12:47:31 PM UTC-5, Zellyn wrote:
>>>
>>> Hey folks,
>>>
>>> We're trying to update the version of protoc we use for compiling our Go 
>>> protobufs. It appears that at some point between 3.0.0 and 3.6.0, protoc 
>>> started populating the `json_name` field option for *every* field, 
>>> whether the option was specified or not. Is that expected? If so, could 
>>> anyone help me track down the commit that did it?
>>>
>>> Thanks,
>>>
>>> Zellyn
>>>
>> -- 
>> 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