Yeah I would use Jackson or JsonObject before JsonSlurper as they are far
more versatile and functional

Check out the documentation here:
https://stleary.github.io/JSON-java/org/json/JSONObject.html

Owen Rubel
oru...@gmail.com


On Sat, Jul 9, 2022 at 2:40 PM Owen Rubel <oru...@gmail.com> wrote:

> Well to clarify on what I meant...
>
> In the JsonSlurper class, 'parse' DOES output to an OBJECT
> java.lang.Object *parse
> <https://javadoc.io/static/org.codehaus.groovy/groovy-all/2.0.2/groovy/json/JsonSlurper.html#parse(java.io.Reader)>*
> (java.io.Reader reader)
> java.lang.Object parseText
> <https://javadoc.io/static/org.codehaus.groovy/groovy-all/2.5.3/groovy/json/JsonSlurper.html#parseText-java.lang.String->
> (java.lang.String text)
>
> ... which can (and usually is), sent to a JsonObject for ease of use.
>
> Secondly, I say static in the fact that you don't need to instantiate
> JsonSlurper to use the methods:
> def object = JsonSlurper.parseText('{ "name": "John Doe" }
>
> This works just fine.
>
> Owen Rubel
> oru...@gmail.com
>
>
> On Fri, Jul 8, 2022 at 5:21 PM Paul King <pa...@asert.com.au> wrote:
>
>> Just some points of clarification.
>> * JsonSlurper isn't a static class - no change with respect to its
>> definition has been made across Groovy3 and 4 apart from the package
>> renaming to comply with the JPMS split packaging requirements for
>> JDK9+.
>> * JsonSlurper doesn't parse into an org.json.JSONObject. It has its own
>> LazyMap.
>> * The LazyMap is backed by an ordered map unless you are using JDK1.6
>> and earlier or 1.7 and don't have the "jdk.map.althashing.threshold"
>> property set. There were known inefficiencies in LinkedHashMap in
>> those old (> 10 yrs ago) JDKs.
>>
>> Cheers, Paul.
>>
>> On Sat, Jul 9, 2022 at 1:37 AM Owen Rubel <oru...@gmail.com> wrote:
>> >
>> > So JSONSlurper is now a static class but I would warn against using
>> JSONSlurper in some cases as it doesn't maintain ORDER in lists when
>> parsing JSON.
>> >
>> > This is a known BUG. But there is a simple solution; JSONSlurper parses
>> into a org.json.JSONObjectand as such, you can easily parse your JSON by
>> simply using JSONObject(text) to parse your text
>> >
>> > Owen Rubel
>> > oru...@gmail.com
>> >
>> >
>> > On Fri, Jul 8, 2022 at 4:10 AM Tommy Svensson <to...@natusoft.se>
>> wrote:
>> >>
>> >> Hello Groovy people,
>> >>
>> >> I have code using org.apache.groovy:groovy:4.0.1 and it builds without
>> any problems.
>> >>
>> >> But now I want to use the JSONSlurper and it looks like there is a new
>> JSONParser also. That however requires groovy-all from googling. The
>> problem is that there seem to be not groovy-all for version 4.0.1. Maven
>> completely fails when I add "-all" to "groovy" in my poms. It will not
>> download the groovy-all file. I deleted ~/.m2/repository and built again
>> and it downloaded all but groovy-all.
>> >>
>> >> The JSON stuff is not available in the "groovy" artifact.
>> >>
>> >> So my question really is, I want to use Groovys JSON features, what do
>> I need to do to accomplish that ?
>> >>
>> >> I've completely failed top find any Groovy 4.0 related page other than
>> the release notes. Since there are big diffs between versions there must be
>> some page for each version I assume ?
>> >>
>> >> I found this: https://groovy-lang.org/processing-json.html but it is
>> not version specific and provides no information on how to get access to it.
>> >>
>> >> I'm frustrated. Something seemingly simple turned out to be the
>> opposite!
>> >>
>> >> Any help is appreciated.
>> >>
>> >> Thanks,
>> >> Tommy Svensson
>> >>
>> >>
>> >>
>>
>

Reply via email to