API16

Difference between revisions of "JRegistry/loadJSON"

From Joomla! Documentation

< API16:JRegistry
(New page: ===Description=== Load an JSON string into the registry into the given namespace [or default if a namespace is not given] <span class="editsection" style="font-size:76%;"> <nowiki>[</...)
 
m (clean up)
Line 2: Line 2:
 
Load an JSON string into the registry into the given namespace [or default if a namespace is not given]
 
Load an JSON string into the registry into the given namespace [or default if a namespace is not given]
  
<span class="editsection" style="font-size:76%;">
 
<nowiki>[</nowiki>[[Description:JRegistry/loadJSON|Edit Descripton]]<nowiki>]</nowiki>
 
</span>
 
  
{{Description:JRegistry/loadJSON}}
+
 
 +
{{subst:Description:JRegistry/loadJSON}}
  
 
===Syntax===
 
===Syntax===
Line 68: Line 66:
 
</source>
 
</source>
  
<span class="editsection" style="font-size:76%;">
+
 
<nowiki>[</nowiki>[[SeeAlso:JRegistry/loadJSON|Edit See Also]]<nowiki>]</nowiki>
+
{{subst:SeeAlso:JRegistry/loadJSON}}
</span>
 
{{SeeAlso:JRegistry/loadJSON}}
 
  
 
===Examples===
 
===Examples===

Revision as of 09:19, 24 March 2017

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Load an JSON string into the registry into the given namespace [or default if a namespace is not given]


{{subst:Description:JRegistry/loadJSON}}

Syntax[edit]

loadJSON($data, $namespace=null)
Parameter Name Default Value Description
$data JSON formatted string to load into the registry
$namespace null Namespace to load the INI string into [optional]

Returns[edit]

boolean True on success

Defined in[edit]

libraries/joomla/registry/registry.php

Importing[edit]

jimport( 'joomla.registry.registry' );

Source Body[edit]

public function loadJSON($data, $namespace = null)
{
        // Load a string into the given namespace [or default namespace if not given]
        $handler = &JRegistryFormat::getInstance('JSON');

        // If namespace is not set, get the default namespace
        if ($namespace == null) {
                $namespace = $this->_defaultNameSpace;
        }

        if (!isset($this->_registry[$namespace])) {
                // If namespace does not exist, make it and load the data
                $this->makeNameSpace($namespace);
                $this->_registry[$namespace]['data'] = &$handler->stringToObject($data);
        } else {
                // Get the data in object format
                $ns = $handler->stringToObject($data);

                /*
                 * We want to leave groups that are already in the namespace and add the
                 * groups loaded into the namespace.  This overwrites any existing group
                 * with the same name
                 */
                foreach (get_object_vars($ns) as $k => $v) {
                        $this->_registry[$namespace]['data']->$k = $v;
                }
        }

        return true;
}


{{subst:SeeAlso:JRegistry/loadJSON}}

Examples[edit]

<CodeExamplesForm />