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 intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intgetFlags(Map<String, GroundedValue> options, boolean allowValidate, boolean isSchemaAware) Extract the requested JSON parsing options as a set of flags in a bit-significant integervoidparse(String input, int flags, JsonHandler handler, XPathContext context) Parse the JSON string according to supplied optionsvoidsetNumberParser(Map<String, GroundedValue> options, XPathContext context) static StringshowToken(JsonParser.JsonToken token, String currentTokenValue) static StringUnescape 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
-