Class JSONNavi<T>

java.lang.Object
net.minidev.json.JSONNavi<T>

public class JSONNavi<T> extends Object
A JQuery like Json editor, accessor.
Since:
1.0.9
  • Field Details

    • mapper

      private JsonReaderI<? super T> mapper
    • root

      private T root
    • stack

      private Stack<Object> stack
    • path

      private Stack<Object> path
    • current

      private Object current
    • failure

      private boolean failure
    • failureMessage

      private String failureMessage
    • readonly

      private boolean readonly
    • missingKey

      private Object missingKey
    • ERROR_COMPRESS

      private static final JSONStyle ERROR_COMPRESS
  • Constructor Details

  • Method Details

    • newInstance

      public static JSONNavi<JSONAwareEx> newInstance()
    • newInstanceObject

      public static JSONNavi<JSONObject> newInstanceObject()
    • newInstanceArray

      public static JSONNavi<JSONArray> newInstanceArray()
    • root

      public JSONNavi<T> root()
      return to root node
    • hasFailure

      public boolean hasFailure()
    • getCurrentObject

      public Object getCurrentObject()
    • getKeys

      public Collection<String> getKeys()
    • getSize

      public int getSize()
    • getString

      public String getString(String key)
    • getInt

      public int getInt(String key)
    • getInteger

      public Integer getInteger(String key)
    • getDouble

      public double getDouble(String key)
    • hasKey

      public boolean hasKey(String key)
    • at

      public JSONNavi<?> at(String key)
    • get

      public Object get(String key)
    • get

      public Object get(int index)
    • set

      public JSONNavi<T> set(String key, String value)
    • set

      public JSONNavi<T> set(String key, Number value)
    • set

      public JSONNavi<T> set(String key, long value)
      write an value in the current object
      Parameters:
      key - key to access
      value - new value
      Returns:
      this
    • set

      public JSONNavi<T> set(String key, int value)
      write an value in the current object
      Parameters:
      key - key to access
      value - new value
      Returns:
      this
    • set

      public JSONNavi<T> set(String key, double value)
      write an value in the current object
      Parameters:
      key - key to access
      value - new value
      Returns:
      this
    • set

      public JSONNavi<T> set(String key, float value)
      write an value in the current object
      Parameters:
      key - key to access
      value - new value
      Returns:
      this
    • add

      public JSONNavi<T> add(Object... values)
      add value to the current arrays
      Parameters:
      values - to add
      Returns:
      this
    • asString

      public String asString()
      get the current object value as String if the current Object is null return null.
    • asDouble

      public double asDouble()
      get the current value as double if the current Object is null return Double.NaN
    • asDoubleObj

      public Double asDoubleObj()
      get the current object value as Double if the current Double can not be cast as Integer return null.
    • asFloat

      public double asFloat()
      get the current value as float if the current Object is null return Float.NaN
    • asFloatObj

      public Float asFloatObj()
      get the current object value as Float if the current Float can not be cast as Integer return null.
    • asInt

      public int asInt()
      get the current value as int if the current Object is null return 0
    • asIntegerObj

      public Integer asIntegerObj()
      get the current object value as Integer if the current Object can not be cast as Integer return null.
    • asLong

      public long asLong()
      get the current value as long if the current Object is null return 0
    • asLongObj

      public Long asLongObj()
      get the current object value as Long if the current Object can not be cast as Long return null.
    • asBoolean

      public boolean asBoolean()
      get the current value as boolean if the current Object is null or is not a boolean return false
    • asBooleanObj

      public Boolean asBooleanObj()
      get the current object value as Boolean if the current Object is not a Boolean return null.
    • object

      public JSONNavi<T> object()
      Set current value as Json Object You can also skip this call, Objects can be create automatically.
    • array

      public JSONNavi<T> array()
      Set current value as Json Array You can also skip this call Arrays can be create automatically.
    • set

      public JSONNavi<T> set(Number num)
      set current value as Number
    • set

      public JSONNavi<T> set(Boolean bool)
      set current value as Boolean
    • set

      public JSONNavi<T> set(String text)
      set current value as String
    • getRoot

      public T getRoot()
    • store

      private void store()
      internal store current Object in current non existing localization
    • isArray

      public boolean isArray()
      is the current node is an array
    • isObject

      public boolean isObject()
      is the current node is an object
    • isArray

      private boolean isArray(Object obj)
      check if Object is an Array
    • isObject

      private boolean isObject(Object obj)
      check if Object is an Map
    • a

      private List<Object> a(Object obj)
      internal cast to List
    • o

      private Map<String,Object> o(Object obj)
      internal cast to Map
    • at

      public JSONNavi<?> at(int index)
      Access to the index position. If index is less than 0 access element index from the end like in python.
      Parameters:
      index - 0 based desired position in Array
    • atNext

      public JSONNavi<?> atNext()
      Access to last + 1 the index position. this method can only be used in writing mode.
    • up

      public JSONNavi<?> up(int level)
      call up() level times.
      Parameters:
      level - number of parent move.
    • up

      public JSONNavi<?> up()
      Move one level up in Json tree. if no more level up is available the statement had no effect.
    • toString

      public String toString()
      return the Object as a Json String
      Overrides:
      toString in class Object
    • toString

      public String toString(JSONStyle compression)
      return the Object as a Json String
      Parameters:
      compression -
    • failure

      private JSONNavi<?> failure(String err, Object jPathPostfix)
      Internally log errors.
    • getJPath

      public String getJPath()
      Returns:
      JPath to the current position