For working with a certain json library that try to distinguish between array and object, user of this library should add following functions under the third parameter:

a function to determine wether a table is an array or object

key : is_array

parameters : a lua table

return value : boolean

a function to mark a lua table as an array

key : mark_as_array

parameters : a lua table

return value : a lua table

One or more operation can be disabled. If an operation is disabled, than it is considered as data and will be returned as is. To control which operations are enabled, use one of the following mode and add appropriate data under the third parameter:

blacklist mode

key : blacklist

contents: a lua table that contains list of operation names that will be disabled. all else will be enabled

whitelist mode (can only be activated when blacklist key does not exist in the third parameter)

key : whitelist

contents: a lua table that contains list of operation names that will be enabled. all else will be disabled