Package net.sf.saxon.ma.json
Class JsonParser
java.lang.Object
net.sf.saxon.ma.json.JsonParser
Parser for JSON, which notifies parsing events to a JsonHandler
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
getFlags
(Map<String, GroundedValue> options, boolean allowValidate, boolean isSchemaAware) Extract the requested JSON parsing options as a set of flags in a bit-significant integervoid
parse
(String input, int flags, JsonHandler handler, XPathContext context) Parse the JSON string according to supplied optionsvoid
setNumberParser
(Map<String, GroundedValue> options, XPathContext context) static String
showToken
(JsonParser.JsonToken token, String currentTokenValue) static String
Unescape a JSON string literal
-
Field Details
-
ESCAPE
public static final int ESCAPE- See Also:
-
ALLOW_ANY_TOP_LEVEL
public static final int ALLOW_ANY_TOP_LEVEL- See Also:
-
LIBERAL
public static final int LIBERAL- See Also:
-
VALIDATE
public static final int VALIDATE- See Also:
-
DEBUG
public static final int DEBUG- See Also:
-
DUPLICATES_RETAINED
public static final int DUPLICATES_RETAINED- See Also:
-
DUPLICATES_LAST
public static final int DUPLICATES_LAST- See Also:
-
DUPLICATES_FIRST
public static final int DUPLICATES_FIRST- See Also:
-
DUPLICATES_REJECTED
public static final int DUPLICATES_REJECTED- See Also:
-
DUPLICATES_SPECIFIED
public static final int DUPLICATES_SPECIFIED- See Also:
-
NESTING_LIMIT
public static final int NESTING_LIMIT- See Also:
-
-
Constructor Details
-
JsonParser
public JsonParser()Create a JSON parser
-
-
Method Details
-
parse
public void parse(String input, int flags, JsonHandler handler, XPathContext context) throws XPathException Parse the JSON string according to supplied options- Parameters:
input
- JSON input stringflags
- options for the conversion as a map of xs:string : value pairshandler
- event handler to which parsing events are notifiedcontext
- XPath evaluation context- Throws:
XPathException
- if the syntax of the input is incorrect
-
getFlags
public static int getFlags(Map<String, GroundedValue> options, boolean allowValidate, boolean isSchemaAware) throws XPathExceptionExtract the requested JSON parsing options as a set of flags in a bit-significant integer- Parameters:
options
- the supplied options mapallowValidate
- true if the validate option is permittedisSchemaAware
- true if the processor is schema-aware (only relevant when allowValidate=true)- Returns:
- the options as a sef of flags
- Throws:
XPathException
- if any options are invalid
-
unescape
public static String unescape(String literal, int flags, String errorCode, int lineNumber) throws XPathException Unescape a JSON string literal- Parameters:
literal
- the string literal to be processedflags
- parsing optionserrorCode
- Error codelineNumber
- the line number- Returns:
- the result of parsing and conversion to XDM
- Throws:
XPathException
- if a dynamic error occurs (such as invalid JSON input)
-
showToken
-
setNumberParser
public void setNumberParser(Map<String, GroundedValue> options, XPathContext context) throws XPathException- Throws:
XPathException
-