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
public class ParseJsonFn extends JsonToXMLFn
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 Modifier and Type Field Description static OptionsParameter
OPTION_DETAILS
-
Constructor Summary
Constructors Constructor Description ParseJsonFn()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Item
eval(java.lang.String input, MapItem options, XPathContext context)
Parse the JSON string according to supplied optionsstatic Item
parse(java.lang.String input, java.util.Map<java.lang.String,GroundedValue> options, XPathContext context)
Parse the JSON string according to supplied options-
Methods 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 Detail
-
OPTION_DETAILS
public static OptionsParameter OPTION_DETAILS
-
-
Method Detail
-
eval
protected Item eval(java.lang.String input, MapItem options, XPathContext context) throws XPathException
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(java.lang.String input, java.util.Map<java.lang.String,GroundedValue> options, XPathContext context) throws XPathException
Parse 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
-
-