Package net.sf.saxon.ma.json
Class JsonParser
- java.lang.Object
-
- net.sf.saxon.ma.json.JsonParser
-
public class JsonParser extends java.lang.Object
Parser for JSON, which notifies parsing events to a JsonHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JsonParser.JsonToken
-
Field Summary
Fields Modifier and Type Field Description static int
ALLOW_ANY_TOP_LEVEL
static int
DEBUG
static int
DUPLICATES_FIRST
static int
DUPLICATES_LAST
static int
DUPLICATES_REJECTED
static int
DUPLICATES_RETAINED
static int
DUPLICATES_SPECIFIED
static int
ESCAPE
static int
LIBERAL
static int
NESTING_LIMIT
static int
VALIDATE
-
Constructor Summary
Constructors Constructor Description JsonParser()
Create a JSON parser
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
getFlags(java.util.Map<java.lang.String,Sequence> options, boolean allowValidate, boolean isSchemaAware)
Extract the requested JSON parsing options as a set of flags in a bit-significant integervoid
parse(java.lang.String input, int flags, JsonHandler handler, XPathContext context)
Parse the JSON string according to supplied optionsvoid
setNumberParser(java.util.Map<java.lang.String,Sequence> options, XPathContext context)
static java.lang.String
showToken(JsonParser.JsonToken token, java.lang.String currentTokenValue)
static java.lang.String
unescape(java.lang.String literal, int flags, java.lang.String errorCode, int lineNumber)
Unescape a JSON string literal
-
-
-
Field Detail
-
ESCAPE
public static final int ESCAPE
- See Also:
- Constant Field Values
-
ALLOW_ANY_TOP_LEVEL
public static final int ALLOW_ANY_TOP_LEVEL
- See Also:
- Constant Field Values
-
LIBERAL
public static final int LIBERAL
- See Also:
- Constant Field Values
-
VALIDATE
public static final int VALIDATE
- See Also:
- Constant Field Values
-
DEBUG
public static final int DEBUG
- See Also:
- Constant Field Values
-
DUPLICATES_RETAINED
public static final int DUPLICATES_RETAINED
- See Also:
- Constant Field Values
-
DUPLICATES_LAST
public static final int DUPLICATES_LAST
- See Also:
- Constant Field Values
-
DUPLICATES_FIRST
public static final int DUPLICATES_FIRST
- See Also:
- Constant Field Values
-
DUPLICATES_REJECTED
public static final int DUPLICATES_REJECTED
- See Also:
- Constant Field Values
-
DUPLICATES_SPECIFIED
public static final int DUPLICATES_SPECIFIED
- See Also:
- Constant Field Values
-
NESTING_LIMIT
public static final int NESTING_LIMIT
- See Also:
- Constant Field Values
-
-
Method Detail
-
parse
public void parse(java.lang.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(java.util.Map<java.lang.String,Sequence> options, boolean allowValidate, boolean isSchemaAware) throws XPathException
Extract 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 java.lang.String unescape(java.lang.String literal, int flags, java.lang.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
public static java.lang.String showToken(JsonParser.JsonToken token, java.lang.String currentTokenValue)
-
setNumberParser
public void setNumberParser(java.util.Map<java.lang.String,Sequence> options, XPathContext context) throws XPathException
- Throws:
XPathException
-
-