Package net.sf.saxon.ma.json
Class ParseJsonFn
java.lang.Object
net.sf.saxon.functions.AbstractFunction
net.sf.saxon.functions.SystemFunction
net.sf.saxon.ma.json.JsonToXMLFn
net.sf.saxon.ma.json.ParseJsonFn
- All Implemented Interfaces:
Callable
,FunctionItem
,GroundedValue
,Item
,Sequence
Implements the parse-json function, as defined in XPath 3.1
The parsing code, and the handling of options is shared with the json-to-xml function.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Item
eval
(String input, MapItem options, XPathContext context) Parse the JSON string according to supplied optionsstatic Item
parse
(String input, Map<String, GroundedValue> options, XPathContext context) Parse the JSON string according to supplied optionsMethods inherited from class net.sf.saxon.ma.json.JsonToXMLFn
call
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getElaborator, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeFunctionCall, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheck
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Field Details
-
OPTION_DETAILS
-
-
Constructor Details
-
ParseJsonFn
public ParseJsonFn()
-
-
Method Details
-
eval
Parse the JSON string according to supplied options- Overrides:
eval
in classJsonToXMLFn
- Parameters:
input
- JSON input stringoptions
- options for the conversion as a map of xs:string : value pairscontext
- XPath evaluation context- Returns:
- the result of the parsing, typically a map or array
- Throws:
XPathException
- if the syntax of the input is incorrect
-
parse
public static Item parse(String input, Map<String, GroundedValue> options, XPathContext context) throws XPathExceptionParse the JSON string according to supplied options- Parameters:
input
- JSON input stringoptions
- options for the conversion as a map of xs:string : value pairscontext
- XPath evaluation context- Returns:
- the result of the parsing, as an item (null in the case where the JSON input is "null")
- Throws:
XPathException
- if the syntax of the input is incorrect
-