JsonNode - SmartJSONEditor/PublicDocuments GitHub Wiki

JsonNode Class

JsonNode class representes single tree JSON entity in application.

Properties

Properties Value Type Access Description
key String get / set key of json node. (*a)
value (String,Number,Boolean) get / set value of json node
type Number get Object:0, Array:1, String:2, Number:3, Boolean:4, Null: 5, SmartObject:6, SmartArray:7, Unknown:-1
parent JsonNode get parent node
children Array of JsonNode objects get Object,Array,SmartObject or SmartArray nodes can contain child nodes.
index Number get current index of node within its parent node
enabled Number get / set true if node is enabled, false if is disabled
isObject Boolean get true if node is Object or SmartObject type else false
isArray Boolean get true if node is Array or SmartArray type else false
isString Boolean get true if node is String type else false
isNumber Boolean get true if node is Number type else false
isNull Boolean get true if node is Null type else false
isSmartObject Boolean get true if node is SmartObject or SmartArray else false
isSmartArray Boolean get true if node is SmartArray type else false
isSmartNode Boolean get true if node is SmartObject type else false
isContainer Boolean get true if node is Object, SmartObject, Array, SmartArray else false
path String get absolute JSON Path string of JsonNode
relativePath String get relative JSON Path string of JsonNode, relative path will use * generic array index where possible.

Functions

Function Parameters Returns Description
jsonPath("jsonPathString") String (JSONPath string) Array of JavascriptJsonNode class objects Use to filter and return nodes using JSONPath querries
appendObject(keyName) keyName:String (*a) newly created JsonNode class object appends new Object node (*b)
appendArray(keyName) keyName:String (*a) newly created JsonNode class object appends new Array node (*b)
appendString(keyName) keyName:String (*a) newly created JsonNode class object appends new String node (*b)
appendNumber(keyName) keyName:String (*a) newly created JsonNode class object appends new Number node (*b)
appendBoolean(keyName) keyName:String (*a) newly created JsonNode class object appends new Boolean node (*b)
appendNull(keyName) keyName:String (*a) newly created JsonNode class object appends new Null node (*b)
delete() none none deletes node (*c)
select() none none upon operation finishes, node will be selected in UI
debugInfo() none key + value formatted string prints basic information about node

(*a) you must specify a key for newly appended node in every instance even while appending to Arrays.

(*b) appending new nodes is only allowed in container nodes (Object,SmartObject,Array,SmartArray)

##Smart Nodes

When inserting into smart nodes, new node will be appended into all shared instances this procedure is handled behind your javascript code.