/** * Parse a JSON formatted string and convert it into an object. * * If the string is not in JSON format, this method will attempt to parse it as INI format. * * @param string $data JSON formatted string to convert. * @param array $options Options used by the formatter. * @return object Data object. */ public function stringToObject($data, $options = array('processSections' => false)) { // Fix legacy API. if (is_bool($options)) { $options = array('processSections' => $options); } $data = trim($data); if (substr($data, 0, 1) != '{' && substr($data, -1, 1) != '}') { $ini = Base::getInstance('INI'); $obj = $ini->stringToObject($data, $options); } else { $obj = json_decode($data); } return $obj; }
/** * Parse a JSON formatted string and convert it into an object. * * If the string is not in JSON format, this method will attempt to parse it as INI format. * * @param string $data JSON formatted string to convert. * @param array $options Options used by the formatter. * @return object Data object. */ public function stringToObject($data, $options = array('processSections' => false)) { // Fix legacy API. if (is_bool($options)) { $options = array('processSections' => $options); // Deprecation warning. \JLog::add('ResourcesElementsFormatJSON::stringToObject() second argument should not be a boolean.', \JLog::WARNING, 'deprecated'); } $data = trim($data); if (substr($data, 0, 1) != '{' && substr($data, -1, 1) != '}') { $ini = Base::getInstance('INI'); $obj = $ini->stringToObject($data, $options); } else { $obj = json_decode($data); } return $obj; }
/** * Get a namespace in a given string format * * @param string $format Format to return the string in * @param mixed $options Parameters used by the formatter, see formatters for more info * @return string Namespace in string format */ public function toString($format = 'JSON', $options = array()) { // Return a namespace in a given format $handler = Format::getInstance($format); return $handler->objectToString($this->data, $options); }