[Java] Class JsonSlurper
- groovy.json.JsonSlurper
This has the same interface as the original JsonSlurper written for version 1.8.0, but its implementation has completely changed. It is now up to 20x faster than before, and its speed competes and often substantially exceeds popular common JSON parsers circa Jan, 2014.
JSON slurper parses text or reader content into a data structure of lists and maps. Example usage:
JsonSlurper can use several types of JSON parsers. Please read the documentation for JsonParserType. There are relaxed mode parsers, large file parser, and index overlay parsers. Don't worry, it is all groovy. JsonSlurper will just work, but understanding the different parser types may allow you to drastically improve the performance of your JSON parsing.
def slurper = new groovy.json.JsonSlurper()
def result = slurper.parseText('{"person":{"name":"Guillaume","age":33,"pets":["dog","cat"]}}')
assert result.person.name == "Guillaume"
assert result.person.age == 33
assert result.person.pets.size() == 2
assert result.person.pets[0] == "dog"
assert result.person.pets[1] == "cat"
parser = new JsonSlurper().setType(JsonParserType.INDEX_OVERLAY);
- See Also:
- JsonParserType
- Since:
- 1.8.0
Properties Summary
Type | Name and description |
---|---|
boolean |
checkDates |
boolean |
chop |
boolean |
lazyChop |
int |
maxSizeForInMemory |
JsonParserType |
type |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
int |
getMaxSizeForInMemory() Max size before Slurper starts to use windowing buffer parser. | |
JsonParserType |
getType() Parser type. | |
boolean |
isCheckDates() Determine if slurper will automatically parse strings it recognizes as dates. | |
boolean |
isChop() Turns on buffer chopping for index overlay. | |
boolean |
isLazyChop() Turns on buffer lazy chopping for index overlay. | |
Object |
parse(Reader reader) Parse a JSON data structure from content from a reader | |
Object |
parse(InputStream inputStream) Parse a JSON data structure from content from an inputStream | |
Object |
parse(InputStream inputStream, String charset) Parse a JSON data structure from content from an inputStream | |
Object |
parse(byte[] bytes, String charset) Parse a JSON data structure from content from a byte array. | |
Object |
parse(byte[] bytes) Parse a JSON data structure from content from a byte array. | |
Object |
parse(char[] chars) Parse a JSON data structure from content from a char array. | |
Object |
parse(File file) Parse a JSON data structure from content within a given File. | |
Object |
parse(File file, String charset) Parse a JSON data structure from content within a given File. | |
Object |
parse(URL url) Parse a JSON data structure from content at a given URL. | |
Object |
parse(URL url, Map params) Parse a JSON data structure from content at a given URL. | |
Object |
parse(Map params, URL url) Parse a JSON data structure from content at a given URL. | |
Object |
parse(URL url, String charset) Parse a JSON data structure from content at a given URL. | |
Object |
parse(URL url, Map params, String charset) Parse a JSON data structure from content at a given URL. | |
Object |
parse(Map params, URL url, String charset) Parse a JSON data structure from content at a given URL. | |
Object |
parseText(String text) Parse a text representation of a JSON data structure | |
JsonSlurper |
setCheckDates(boolean checkDates) Determine if slurper will automatically parse strings it recognizes as dates. | |
JsonSlurper |
setChop(boolean chop) Turns on buffer chopping for index overlay. | |
JsonSlurper |
setLazyChop(boolean lazyChop) Turns on buffer lazy chopping for index overlay. | |
JsonSlurper |
setMaxSizeForInMemory(int maxSizeForInMemory) Max size before Slurper starts to use windowing buffer parser. | |
JsonSlurper |
setType(JsonParserType type) Parser type. |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Property Detail
boolean checkDates
boolean chop
boolean lazyChop
int maxSizeForInMemory
JsonParserType type
Method Detail
public int getMaxSizeForInMemory()
Max size before Slurper starts to use windowing buffer parser.
- Returns:
- size of file/buffer
- Since:
- 2.3
public JsonParserType getType()
Parser type.
- Since:
- 2.3
- See Also:
- JsonParserType
- Returns:
- type
public boolean isCheckDates()
Determine if slurper will automatically parse strings it recognizes as dates. Index overlay only.
- Returns:
- on or off
- Since:
- 2.3
public boolean isChop()
Turns on buffer chopping for index overlay.
- Since:
- 2.3
- See Also:
- JsonParserType
- Returns:
- chop on or off
public boolean isLazyChop()
Turns on buffer lazy chopping for index overlay.
- See Also:
- JsonParserType
- Returns:
- on or off
- Since:
- 2.3
public Object parse(Reader reader)
Parse a JSON data structure from content from a reader
- Parameters:
-
reader
- reader over a JSON content
- Returns:
- a data structure of lists and maps
public Object parse(InputStream inputStream)
Parse a JSON data structure from content from an inputStream
- Parameters:
-
inputStream
- stream over a JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.3
public Object parse(InputStream inputStream, String charset)
Parse a JSON data structure from content from an inputStream
- Parameters:
-
inputStream
- stream over a JSON content -
charset
- charset
- Returns:
- a data structure of lists and maps
- Since:
- 2.3
public Object parse(byte[] bytes, String charset)
Parse a JSON data structure from content from a byte array.
- Parameters:
-
bytes
- buffer of JSON content -
charset
- charset
- Returns:
- a data structure of lists and maps
- Since:
- 2.3
public Object parse(byte[] bytes)
Parse a JSON data structure from content from a byte array.
- Parameters:
-
bytes
- buffer of JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.3
public Object parse(char[] chars)
Parse a JSON data structure from content from a char array.
- Parameters:
-
chars
- buffer of JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.3
public Object parse(File file)
Parse a JSON data structure from content within a given File.
- Parameters:
-
file
- File containing JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(File file, String charset)
Parse a JSON data structure from content within a given File.
- Parameters:
-
file
- File containing JSON content -
charset
- the charset for this File
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(URL url)
Parse a JSON data structure from content at a given URL.
- Parameters:
-
url
- URL containing JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(URL url, Map params)
Parse a JSON data structure from content at a given URL.
- Parameters:
-
url
- URL containing JSON content -
params
- connection parameters
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(Map params, URL url)
Parse a JSON data structure from content at a given URL. Convenience variant when using Groovy named parameters for the connection params.
- Parameters:
-
params
- connection parameters -
url
- URL containing JSON content
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(URL url, String charset)
Parse a JSON data structure from content at a given URL.
- Parameters:
-
url
- URL containing JSON content -
charset
- the charset for this File
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(URL url, Map params, String charset)
Parse a JSON data structure from content at a given URL.
- Parameters:
-
url
- URL containing JSON content -
params
- connection parameters -
charset
- the charset for this File
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parse(Map params, URL url, String charset)
Parse a JSON data structure from content at a given URL. Convenience variant when using Groovy named parameters for the connection params.
- Parameters:
-
params
- connection parameters -
url
- URL containing JSON content -
charset
- the charset for this File
- Returns:
- a data structure of lists and maps
- Since:
- 2.2.0
public Object parseText(String text)
Parse a text representation of a JSON data structure
- Parameters:
-
text
- JSON text to parse
- Returns:
- a data structure of lists and maps
public JsonSlurper setCheckDates(boolean checkDates)
Determine if slurper will automatically parse strings it recognizes as dates. Index overlay only.
- Returns:
- on or off
- Since:
- 2.3
public JsonSlurper setChop(boolean chop)
Turns on buffer chopping for index overlay.
- Since:
- 2.3
- See Also:
- JsonParserType
- Returns:
- JsonSlurper
public JsonSlurper setLazyChop(boolean lazyChop)
Turns on buffer lazy chopping for index overlay.
- See Also:
- JsonParserType
- Returns:
- JsonSlurper
- Since:
- 2.3
public JsonSlurper setMaxSizeForInMemory(int maxSizeForInMemory)
Max size before Slurper starts to use windowing buffer parser.
- Since:
- 2.3
- Returns:
- JsonSlurper
public JsonSlurper setType(JsonParserType type)
Parser type.
- Since:
- 2.3
- See Also:
- JsonParserType
- Returns:
- JsonSlurper
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.5.14/html/gapi/groovy/json/JsonSlurper.html