
####
JSON
####


****
NAME
****


Kernel::System::JSON - the JSON wrapper lib


***********
DESCRIPTION
***********


Functions for encoding perl data structures to JSON.


****************
PUBLIC INTERFACE
****************


new()
=====


create a JSON object. Do not use it directly, instead use:


.. code-block:: perl

     my $JSONObject = $Kernel::OM->Get('Kernel::System::JSON');



Encode()
========


Encode a perl data structure to a JSON string.


.. code-block:: perl

     my $JSONString = $JSONObject->Encode(
         Data     => $Data,
         SortKeys => 1,          # (optional) (0|1) default 0, to sort the keys of the json data
         Pretty   => 1,          # (optional) (0|1) default 0, to pretty print
     );



Decode()
========


Decode a JSON string to a perl data structure.


.. code-block:: perl

     my $PerlStructureScalar = $JSONObject->Decode(
         Data => $JSONString,
     );



True()
======


returns a constant that can be mapped to a boolean true value
in JSON rather than a string with "true".


.. code-block:: perl

     my $TrueConstant = $JSONObject->True();
 
     my $TrueJS = $JSONObject->Encode(
         Data => $TrueConstant,
     );


This will return the string 'true'.
If you pass the perl string 'true' to JSON, it will return '"true"'
as a JavaScript string instead.


False()
=======


like \ ``True()``\ , but for a false boolean value.


_BooleansProcess()
==================


decode boolean values leftover from JSON decoder to simple scalar values


.. code-block:: perl

     my $ProcessedJSON = $JSONObject->_BooleansProcess(
         JSON => $JSONData,
     );





