勉強したことのメモ

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

  関連記事

UTF-16にエンコードされている文字列をUTF-8へデコード
UTF-16にエンコードされている文字列をUTF-8へデコード

エンコードされている文字列であまり見かけない感じのものがあった。UTF-8やSh ...

PHPでルーティング用ライブラリ「AltoRouter」の利用方法
PHPでルーティング用ライブラリ「AltoRouter」の利用方法

PHPフレームワークのCodeIgniterを勉強していた際にルーティング機能が ...

PHPでパーミッションの変更
PHPでパーミッションの変更

chmodというみたことが無いPHP関数があったのでメモ。 ■参考サイト htt ...

PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法
PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法

先日PHPのsetcookie実行時にHttpOnly / Secure属性を設 ...

CodeIgniter3で共通の変数と定数を設定する方法
CodeIgniter3で共通の変数と定数を設定する方法

CodeIgniter3系で共通する配列が入った変数と、定数を設定したかった。以 ...