kaigouthro

json

kaigouthro Updated   
Library "json"

JSON Easy Object Create/stringiffy

Functions to add/write JSON
  • new (name , kind) -> object
  • set (_item , _obj , _key ) -> key index for parent object's array
  • add (_obj , _key , _item ) -> key index for parent object's array
  • write (object , kind ) -> stringified object // (enter kind to cut off key )

============================================

obj
  obj Object storage container/item
  Fields:
    key: (string ) item name
    kind: (string ) item's type(for writing)
    item: (string ) item (converted to string)
    keys: (string ) keys of all sub-items and objects
    items: (obj ) nested obj off individual subitems (for later...)

============================================

new(_name, _kind)
  create multitype object
  Parameters:
    _name: (string) Name off object
    _kind: (string) Preset Type (_OBJECT if a container item)
  Returns: object container/item 2-in-1

============================================

add(_item, _obj, _key)
  Set item to object obj item (same as set, prep for future Pine methods)
  Parameters:
    _item: ( int / float / bool / string )
    _obj: (obj multi-type-item object)
    _key: ( string )

set(_item, _obj, _key)
  Set item to object obj item (same as add, prep for future Pine methods)
  Parameters:
    _item: ( int / float / bool / string )
    _obj: (obj multi-type-item object)
    _key: ( string )

addstore(_parent, _child)
  Add a object as a subobject to storage (Future upgrade to write/edit)
  Parameters:
    _parent: to insert obj into
    _child: to be inserted

setstore(_child, _parent)
  Add a object as a subobject to storage (Future upgrade to write/edit)
  Parameters:
    _child: to be inserted
    _parent: to insert obj into

add(_parent, _child)
  Add a object as a string rendered item
  Parameters:
    _parent: to insert obj into
    _child: to be inserted

set(_child, _parent)
  Add a object as a string rendered item
  Parameters:
    _child: to be inserted
    _parent: to insert obj into

============================================

write(_object, _key, _itemname)
  Write object to string Object
  Parameters:
    _object: (obj)
    _key: (array<(string/int)> )/(string)
    _itemname: (string)
  Returns: stringified flattened object.

clean_output(_str)
  Clean JSON final output
  Parameters:
    _str: string json item
  Returns: cleaned string


Release Notes:
v2

MASSIVE!! single final function call for an output ..
No need to hard code your alert JSON's ever again!

think:
alert(write(_myalertData),frequency.once_per_bar)

Added:
format(_input)
  Formats JSON for presentable output
  Parameters:
    _input: (string) json string
  Returns: cleaned string

remove(obj, key)
  Parameters:
    obj
    key

Updated:
new(_name, _kind)
  create multitype object
@pparam _name (string) Name off object
@pparam _kind (string) Preset Type (_OBJECT if a container item)
  Parameters:
    _name
    _kind
  Returns: object container/item 2-in-1

write(_item)
  Write object to string Object
// @param _object (obj)
// @param _key (array<(string/int)> )/(string)
// @param _itemname (string)
  Parameters:
    _item

add(_Guardians, _child)
  Parameters:
    _Guardians
    _child

set(_child, _Guardians)
  Parameters:
    _child
    _Guardians

obj
  obj Object storage container/item
  Fields:
    key: (string ) item name
    kind: (string ) item's type(for writing)
    item: (string ) item (converted to string)
    keys: (string ) keys of all sub-items and objects
    items: (obj ) nested obj off individual subitems (for later...)
    flag

Removed:
clean_output(_str)
  Clean JSON ffinal output

addstore(_parent, _child)
  Add a object as a subobject to storage (Future upgrade to write/edit)

setstore(_child, _parent)
  Add a object as a subobject to storage (Future upgrade to write/edit)
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.