Supported Versions: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0
Decodes a JSON string
<?php json_decode(    string $json,    ?bool $associative = null,    int $depth = 512,    int $flags = 0): mixed
<?php         }



        $file = Factory::getComposerFile();

        if (is_file($file) && Filesystem::isReadable($file) && is_array($composer = json_decode(file_get_contents($file), true))) {

            if (!empty($composer['minimum-stability'])) {

                return VersionParser::normalizeStability($composer['minimum-stability']);

            }
<?php             if (!in_array('sha384', array_map('strtolower', openssl_get_md_methods()))) {

                throw new \RuntimeException('SHA384 is not supported by your openssl extension, could not verify the phar file integrity');

            }

            $signature = json_decode($signature, true);

            $signature = base64_decode($signature['sha384']);

            $verified = 1 === openssl_verify(file_get_contents($tempFilename), $signature, $pubkeyid, $algo);
<?php             $file = Factory::getComposerFile();

            if (is_file($file) && Filesystem::isReadable($file) && is_array($composer = json_decode(file_get_contents($file), true))) {

                if (isset($composer['scripts']) && is_array($composer['scripts'])) {

                    foreach ($composer['scripts'] as $script => $dummy) {

                        if (!defined('Composer\Script\ScriptEvents::'.str_replace('-', '_', strtoupper($script)))) {
<?php         if ($composerAuthEnv = Platform::getEnv('COMPOSER_AUTH')) {

            $authData = json_decode($composerAuthEnv, true);



            if (null === $authData) {

                if ($io) {
<?php     public function validateSchema($schema = self::STRICT_SCHEMA, $schemaFile = null)

    {

        $content = file_get_contents($this->path);

        $data = json_decode($content);



        if (null === $data && 'null' !== $content) {

            self::validateSyntax($content, $this->path);
<?php         if (null === $json) {

            return null;

        }

        $data = json_decode($json, true);

        if (null === $data && JSON_ERROR_NONE !== json_last_error()) {

            self::validateSyntax($json, $file);

        }
<?php         }



        if (true === $sortPackages) {

            $requirements = json_decode($links, true);

            $this->sortPackages($requirements);

            $links = $this->format($requirements);

        }
<?php         $children = $match['content'];


        if (!@json_decode($children)) {

            return false;

        }
<?php         if (Preg::isMatch($childRegex, $children, $matches)) {

            $children = Preg::replaceCallback($childRegex, function ($matches) use ($subName, $value) {

                if ($subName !== null) {

                    $curVal = json_decode($matches['content'], true);

                    if (!is_array($curVal)) {

                        $curVal = array();

                    }
<?php         $children = $match['content'];




        if (!@json_decode($children, true)) {

            return false;

        }
<?php             if ($subName !== null) {

                $curVal = json_decode($children, true);

                unset($curVal[$name][$subName]);

                $this->addSubNode($mainNode, $name, $curVal[$name]);

            }
<?php         $this->contents = Preg::replaceCallback($nodeRegex, function ($matches) use ($name, $subName, $childrenClean) {

            if ($subName !== null) {

                $curVal = json_decode($matches['content'], true);

                unset($curVal[$name][$subName]);

                $childrenClean = $this->format($curVal);

            }
<?php             '(?P<key>'.preg_quote(JsonFile::encode($key)).'\s*:\s*(?&json))(?P<end>.*)}sx';

        if (isset($decoded[$key]) && Preg::isMatch($regex, $this->contents, $matches)) {


            if (!@json_decode('{'.$matches['key'].'}')) {

                return false;

            }
<?php             '(?P<removal>'.preg_quote(JsonFile::encode($key)).'\s*:\s*(?&json))\s*,?\s*(?P<end>.*)}sx';

        if (Preg::isMatch($regex, $this->contents, $matches)) {


            if (!@json_decode('{'.$matches['removal'].'}')) {

                return false;

            }
<?php             $packages = null;

            if (!$useLastModifiedCheck && $hash && $this->cache->sha256($cacheKey) === $hash) {

                $packages = json_decode($this->cache->read($cacheKey), true);

                $packagesSource = 'cached file ('.$cacheKey.' originating from '.Url::sanitize($url).')';

            } elseif ($useLastModifiedCheck) {

                if ($contents = $this->cache->read($cacheKey)) {