Class JsonPropertyAccessor

java.lang.Object
org.springframework.integration.json.JsonPropertyAccessor
All Implemented Interfaces:
org.springframework.expression.PropertyAccessor

public class JsonPropertyAccessor extends Object implements org.springframework.expression.PropertyAccessor
A SpEL PropertyAccessor that knows how to read properties from JSON objects. Uses Jackson JsonNode API for nested properties access.
Since:
3.0
  • Constructor Details

    • JsonPropertyAccessor

      public JsonPropertyAccessor()
  • Method Details

    • setObjectMapper

      public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    • getSpecificTargetClasses

      public Class<?>[] getSpecificTargetClasses()
      Specified by:
      getSpecificTargetClasses in interface org.springframework.expression.PropertyAccessor
    • canRead

      public boolean canRead(org.springframework.expression.EvaluationContext context, Object target, String name) throws org.springframework.expression.AccessException
      Specified by:
      canRead in interface org.springframework.expression.PropertyAccessor
      Throws:
      org.springframework.expression.AccessException
    • read

      public org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext context, @Nullable Object target, String name) throws org.springframework.expression.AccessException
      Specified by:
      read in interface org.springframework.expression.PropertyAccessor
      Throws:
      org.springframework.expression.AccessException
    • canWrite

      public boolean canWrite(org.springframework.expression.EvaluationContext context, Object target, String name)
      Specified by:
      canWrite in interface org.springframework.expression.PropertyAccessor
    • write

      public void write(org.springframework.expression.EvaluationContext context, Object target, String name, Object newValue)
      Specified by:
      write in interface org.springframework.expression.PropertyAccessor
    • wrap

      public static Object wrap(com.fasterxml.jackson.databind.JsonNode json) throws org.springframework.expression.AccessException
      Throws:
      org.springframework.expression.AccessException