Class JSONFlattenerMaker
java.lang.Object
org.apache.druid.java.util.common.parsers.JSONFlattenerMaker
- All Implemented Interfaces:
ObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
public class JSONFlattenerMaker
extends Object
implements ObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectconvertJsonNode(com.fasterxml.jackson.databind.JsonNode val, CharsetEncoder enc) discoverRootFields(com.fasterxml.jackson.databind.JsonNode obj) List all "root" fields.Handle any special conversions for object when translating an input type into aMapforObjectFlatteners.FlattenerMaker.toMap(T)com.jayway.jsonpath.spi.json.JsonProvidergetRootField(com.fasterxml.jackson.databind.JsonNode obj, String key) Get a top level field from a "json" objectmakeJsonPathExtractor(String expr) Create a "field" extractor forJsonPathexpressionsmakeJsonQueryExtractor(String expr) Create a "field" extractor for 'jq' expressionsmakeJsonTreeExtractor(List<String> nodes) Create a "field" extractor for nested json expressionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.java.util.common.parsers.ObjectFlatteners.FlattenerMaker
toMap, toPlainJavaType
-
Constructor Details
-
JSONFlattenerMaker
public JSONFlattenerMaker(boolean keepNullValues, boolean discoverNestedFields)
-
-
Method Details
-
discoverRootFields
Description copied from interface:ObjectFlatteners.FlattenerMakerList all "root" fields. IfDimensionsSpec.useSchemaDiscoveryis false, this method should filter fields to include only fields that contain primitive and lists of primitive values- Specified by:
discoverRootFieldsin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
getRootField
Description copied from interface:ObjectFlatteners.FlattenerMakerGet a top level field from a "json" object- Specified by:
getRootFieldin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
makeJsonPathExtractor
Description copied from interface:ObjectFlatteners.FlattenerMakerCreate a "field" extractor forJsonPathexpressions- Specified by:
makeJsonPathExtractorin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
makeJsonQueryExtractor
Description copied from interface:ObjectFlatteners.FlattenerMakerCreate a "field" extractor for 'jq' expressions- Specified by:
makeJsonQueryExtractorin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
makeJsonTreeExtractor
public Function<com.fasterxml.jackson.databind.JsonNode,Object> makeJsonTreeExtractor(List<String> nodes) Description copied from interface:ObjectFlatteners.FlattenerMakerCreate a "field" extractor for nested json expressions- Specified by:
makeJsonTreeExtractorin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
getJsonProvider
public com.jayway.jsonpath.spi.json.JsonProvider getJsonProvider()- Specified by:
getJsonProviderin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
finalizeConversionForMap
Description copied from interface:ObjectFlatteners.FlattenerMakerHandle any special conversions for object when translating an input type into aMapforObjectFlatteners.FlattenerMaker.toMap(T)- Specified by:
finalizeConversionForMapin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
convertJsonNode
@Nullable public static Object convertJsonNode(com.fasterxml.jackson.databind.JsonNode val, CharsetEncoder enc)
-