勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)

   2024/01/13  PHP

PHPのバージョンが古くてjson_decodeが使えないという状況があった。また、サーバの変更やPHPのバージョンアップは行えないという状況。何とかならないか調べたところPEARのServices_JSONというものを使えば解決できた。以下に対応方法のメモ。

 

Services_JSON

http://pear.php.net/package/Services_JSON/download

ダウンロードして解凍し、JSON.phpを適当なディレクトリにアップロードしておく。

 

ソース

if (!function_exists('json_encode')) {
    require_once 'JSON.php';
    function json_encode($value) {
        $s = new Services_JSON();
        return $s->encodeUnsafe($value);
    }

    function json_decode($json, $assoc = false) {
        $s = new Services_JSON($assoc ? SERVICES_JSON_LOOSE_TYPE : 0);
        return $s->decode($json);
    }
}

 

参考サイト

https://www.softel.co.jp/blogs/tech/archives/3663

 - PHP

  関連記事

PHPでjpg / png画像をWebP画像に変換し保存する方法
PHPでjpg / png画像をWebP画像に変換し保存する方法

PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...

PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法
PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法

先日メモしたdBug.phpをPHP8系の環境で試すと動作しなかった。ただエラー ...

PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法
PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法

あるシステムからPHPで外部のAPIにリクエストしたかった。ただ、複数回リクエス ...

PukiWikiでバックアップを週一等スケジュール化して実行する方法
PukiWikiでバックアップを週一等スケジュール化して実行する方法

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...

PHP7 / 8でBlowfishアルゴリズムを用いた暗号化と復号化方法
PHP7 / 8でBlowfishアルゴリズムを用いた暗号化と復号化方法

大分前にPHPでPearのCrypt_Blowfishパッケージを使用し、Blo ...