Class FastJacksonJsonNodeJsonProvider

java.lang.Object
com.jayway.jsonpath.spi.json.AbstractJsonProvider
com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider
org.apache.druid.data.input.impl.FastJacksonJsonNodeJsonProvider
All Implemented Interfaces:
com.jayway.jsonpath.spi.json.JsonProvider

public class FastJacksonJsonNodeJsonProvider extends com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider
Custom json-path JsonProvider override to circumvent slow performance when encountering null paths as described in https://github.com/json-path/JsonPath/issues/396 Note that this only avoids errors for map properties, avoiding the exception on array paths is not possible without patching json-path itself
  • Field Summary

    Fields inherited from class com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider

    objectMapper

    Fields inherited from interface com.jayway.jsonpath.spi.json.JsonProvider

    UNDEFINED
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
    boolean
     

    Methods inherited from class com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider

    createArray, createMap, getArrayIndex, getObjectMapper, isArray, length, parse, parse, parse, removeProperty, setArrayIndex, setProperty, toIterable, toJson, unwrap

    Methods inherited from class com.jayway.jsonpath.spi.json.AbstractJsonProvider

    getArrayIndex

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FastJacksonJsonNodeJsonProvider

      public FastJacksonJsonNodeJsonProvider()
  • Method Details

    • isMap

      public boolean isMap(Object obj)
      Specified by:
      isMap in interface com.jayway.jsonpath.spi.json.JsonProvider
      Overrides:
      isMap in class com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider
    • getMapValue

      public Object getMapValue(Object obj, String key)
      Specified by:
      getMapValue in interface com.jayway.jsonpath.spi.json.JsonProvider
      Overrides:
      getMapValue in class com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider
    • getPropertyKeys

      public Collection<String> getPropertyKeys(Object o)
      Specified by:
      getPropertyKeys in interface com.jayway.jsonpath.spi.json.JsonProvider
      Overrides:
      getPropertyKeys in class com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider