On Wed, Sep 21, 2016 at 3:22 AM, Graeme Rocher <graeme.roc...@gmail.com> wrote:
> Hi John, > > Looks very useful, so +1 > > One thing that would also be useful is to be able to configure the > ability to disable unicode encoding. It doesn't seem to be recommended > for all circumstances. See: > > http://stackoverflow.com/questions/12271547/shouldnt-json- > stringify-escape-unicode-characters?noredirect=1&lq=1 > > And it is blocking resolution of this issue: > > https://github.com/grails/grails-views/issues/71 > > Thoughts? > Hi Graeme, Good suggestion, and also seems to be a requested feature in GROOVY-6975 [1]. So seems worthwhile to add a disableUnicodeEscaping or disableNonAsciiEscaping option. I'll see if I can add that to the PR soon. [1] https://issues.apache.org/jira/browse/GROOVY-6975 > > On Mon, Sep 12, 2016 at 12:02 AM, John Wagenleitner > <john.wagenleit...@gmail.com> wrote: > > On Sun, Sep 11, 2016 at 11:51 AM, Kostas Saidis <sai...@gmail.com> > wrote: > >> > >> +1, definitely! > >> > >> If it is possible, the dateFormat method should also accept an optional > >> Locale parameter (as mentioned in TODO comment in the source), with a > >> default value of Locale.US. > >> > >> Cheers, > >> Kostas > >> > > > > > > Thanks for pointing that out, I had forgot about that. I added a new > method > > that accepts both a date format string and Locale. > > > > > >> > >> > >> On 11/9/2016 6:59 πμ, John Wagenleitner wrote: > >> > >> Groovy Json users, > >> > >> I recently worked on a project where it would have been helpful if > >> JsonOutput/JsonBuilder/StreamingJsonBuilder had options for > controlling the > >> output. I noticed there were some open tickets [1] for feature requests > >> around this so decided to try to add some options to control the > >> serialization and have proposed a pull request > >> (https://github.com/apache/groovy/pull/371). > >> > >> Just wanted to poll those that use the Json generating features in > Groovy > >> to see if you think these options would be useful and would welcome any > code > >> review for those that would be interested in reviewing the PR. For a > quick > >> overview I've included a sample below [2]. > >> > >> [1] > >> GROOVY-6699: JSON slurper ability to ignore propertie/field names (at > >> least the serializing part) > >> GROOVY-6854: JsonOutput should be configurable with ISO 8601 UTC time > zone > >> instead of GMT > >> GROOVY-7682: JsonBuilder or JsonOutput incompatible with JodaTime (for > now > >> via a closure converter) > >> GROOVY-7780: JSONBuilder/JSONSlurper: Option to Only Include NonNull > >> values > >> GROOVY-7858: Make JsonBuilder configurable to not write entries with > null > >> values > >> > >> [2] > >> > >> import groovy.json.* > >> > >> def options = JsonOutput.options() > >> .excludeNulls() > >> .excludeFieldsByName('make', 'country', 'record') > >> .excludeFieldsByType(Number) > >> .addConverter(URL) { url -> '"http://groovy-lang.org"' } > >> > >> StringWriter writer = new StringWriter() > >> StreamingJsonBuilder builder = new StreamingJsonBuilder(writer, options) > >> > >> builder.records { > >> car { > >> name 'HSV Maloo' > >> make 'Holden' > >> year 2006 > >> country 'Australia' > >> homepage new URL('http://example.org') > >> record { > >> type 'speed' > >> description 'production pickup truck with speed of 271kph' > >> } > >> } > >> } > >> > >> assert writer.toString() == '{"records":{"car":{"name":"HSV > >> Maloo","homepage":"http://groovy-lang.org"}}}' > >> > >> > > > > > > -- > Graeme Rocher >