Class JsonPropertyAccessor

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

public class JsonPropertyAccessor
extends java.lang.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 Summary

    Constructors 
    Constructor Description
    JsonPropertyAccessor()  
  • Method Summary

    Modifier and Type Method Description
    boolean canRead​(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)  
    boolean canWrite​(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)  
    java.lang.Class<?>[] getSpecificTargetClasses()  
    org.springframework.expression.TypedValue read​(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)  
    void setObjectMapper​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)  
    static java.lang.Object wrap​(com.fasterxml.jackson.databind.JsonNode json)  
    void write​(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name, java.lang.Object newValue)  

    Methods inherited from class java.lang.Object

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

  • Method Details

    • setObjectMapper

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

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

      public boolean canRead​(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.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 java.lang.Object target, java.lang.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, java.lang.Object target, java.lang.String name)
      Specified by:
      canWrite in interface org.springframework.expression.PropertyAccessor
    • write

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

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