Re: [protobuf] Forcing JSON encoding to include default values (Java?)

2016-03-15 Thread 'Feng Xiao' via Protocol Buffers
On Tue, Mar 15, 2016 at 10:40 AM, Rich  wrote:

> Where is JsonFormat defined?
>
> No reference to how to print JSON from Java in the docs. Nothing in the
> API index.
>
See:
https://github.com/google/protobuf/blob/master/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java

It's deployed to maven as a separate artifact: protobuf-java-util.



>
>
>
>
> On Sunday, November 1, 2015 at 2:46:16 PM UTC-5, Feng Xiao wrote:
>>
>>
>>
>> On Sun, Nov 1, 2015 at 12:32 AM, Marco  wrote:
>>
>>> The documentation mentions "An implementation may provide options to
>>> emit fields with default values in the JSON-encoded output."
>>>
>>> I assumed that meant an implementation of Printer class, ie. an
>>> alternative to  JsonFormat.printer().print(myMessage), but it appears
>>> that any implementation would depend on GeneratedMessage::getAllFields()
>>> which does not include default fields (GeneratedMessage:2123). I also
>>> read through descriptor.proto to see if there was an option for this, but
>>> that did not appear to be the case.
>>>
>>> Is there a way to do this out of the box, or would it require code
>>> changes? And would this be different for other languages? (This is using
>>> proto3, if that's not implied by the above.)
>>>
>> The option is not added yet. It will be something like:
>> JsonFormat.printer().printingDefaultValueFields().print(myMessage);
>>
>> Likely it will be included in the next beta release.
>>
>>> --
>>> 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+u...@googlegroups.com.
>>> To post to this group, send email to prot...@googlegroups.com.
>>> Visit this group at http://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 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.
>

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


Re: [protobuf] Forcing JSON encoding to include default values (Java?)

2016-03-15 Thread Rich
Where is JsonFormat defined?

No reference to how to print JSON from Java in the docs. Nothing in the API 
index.




On Sunday, November 1, 2015 at 2:46:16 PM UTC-5, Feng Xiao wrote:
>
>
>
> On Sun, Nov 1, 2015 at 12:32 AM, Marco  
> wrote:
>
>> The documentation mentions "An implementation may provide options to emit 
>> fields with default values in the JSON-encoded output." 
>>
>> I assumed that meant an implementation of Printer class, ie. an 
>> alternative to  JsonFormat.printer().print(myMessage), but it appears 
>> that any implementation would depend on GeneratedMessage::getAllFields() 
>> which does not include default fields (GeneratedMessage:2123). I also 
>> read through descriptor.proto to see if there was an option for this, but 
>> that did not appear to be the case.
>>
>> Is there a way to do this out of the box, or would it require code 
>> changes? And would this be different for other languages? (This is using 
>> proto3, if that's not implied by the above.)
>>
> The option is not added yet. It will be something like:
> JsonFormat.printer().printingDefaultValueFields().print(myMessage);
>
> Likely it will be included in the next beta release.
>
>> -- 
>> 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+u...@googlegroups.com .
>> To post to this group, send email to prot...@googlegroups.com 
>> .
>> Visit this group at http://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 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.


Re: [protobuf] Forcing JSON encoding to include default values (Java?)

2015-11-01 Thread 'Feng Xiao' via Protocol Buffers
On Sun, Nov 1, 2015 at 12:32 AM, Marco  wrote:

> The documentation mentions "An implementation may provide options to emit
> fields with default values in the JSON-encoded output."
>
> I assumed that meant an implementation of Printer class, ie. an
> alternative to  JsonFormat.printer().print(myMessage), but it appears
> that any implementation would depend on GeneratedMessage::getAllFields()
> which does not include default fields (GeneratedMessage:2123). I also
> read through descriptor.proto to see if there was an option for this, but
> that did not appear to be the case.
>
> Is there a way to do this out of the box, or would it require code
> changes? And would this be different for other languages? (This is using
> proto3, if that's not implied by the above.)
>
The option is not added yet. It will be something like:
JsonFormat.printer().printingDefaultValueFields().print(myMessage);

Likely it will be included in the next beta release.

> --
> 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 http://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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.