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 Constructor Description JSONFlattenerMaker(boolean keepNullValues, boolean discoverNestedFields)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ObjectconvertJsonNode(com.fasterxml.jackson.databind.JsonNode val, CharsetEncoder enc)Iterable<String>discoverRootFields(com.fasterxml.jackson.databind.JsonNode obj)List all "root" fields.ObjectfinalizeConversionForMap(Object o)Handle any special conversions for object when translating an input type into aMapforObjectFlatteners.FlattenerMaker.toMap(T)com.jayway.jsonpath.spi.json.JsonProvidergetJsonProvider()ObjectgetRootField(com.fasterxml.jackson.databind.JsonNode obj, String key)Get a top level field from a "json" objectFunction<com.fasterxml.jackson.databind.JsonNode,Object>makeJsonPathExtractor(String expr)Create a "field" extractor forJsonPathexpressionsFunction<com.fasterxml.jackson.databind.JsonNode,Object>makeJsonQueryExtractor(String expr)Create a "field" extractor for 'jq' expressionsFunction<com.fasterxml.jackson.databind.JsonNode,Object>makeJsonTreeExtractor(List<String> nodes)Create a "field" extractor for nested json expressions-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.java.util.common.parsers.ObjectFlatteners.FlattenerMaker
toMap, toPlainJavaType
-
-
-
-
Method Detail
-
discoverRootFields
public Iterable<String> discoverRootFields(com.fasterxml.jackson.databind.JsonNode obj)
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
public Object getRootField(com.fasterxml.jackson.databind.JsonNode obj, String key)
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
public Function<com.fasterxml.jackson.databind.JsonNode,Object> makeJsonPathExtractor(String expr)
Description copied from interface:ObjectFlatteners.FlattenerMakerCreate a "field" extractor forJsonPathexpressions- Specified by:
makeJsonPathExtractorin interfaceObjectFlatteners.FlattenerMaker<com.fasterxml.jackson.databind.JsonNode>
-
makeJsonQueryExtractor
public Function<com.fasterxml.jackson.databind.JsonNode,Object> makeJsonQueryExtractor(String expr)
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
public Object finalizeConversionForMap(Object o)
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)
-
-