勉強したことのメモ

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

  関連記事

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

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

PHPMailerでエンベロープFrom(Return-Path)を指定する方法
PHPMailerでエンベロープFrom(Return-Path)を指定する方法

同じメールアドレスから送信したメールがmb_send_mail関数だと受信できる ...

PHPで配列の値(value)が空の要素を削除する方法
PHPで配列の値(value)が空の要素を削除する方法

PHPの配列でキー(key)は入っていて値(value)が入っていない要素を削除 ...

【2025年版】PHPとStripeを用いてサイト内にクレカ決済及びキャンセル機能を実装する方法
【2025年版】PHPとStripeを用いてサイト内にクレカ決済及びキャンセル機能を実装する方法

5年ほど前にPHPとStripeを用いたクレカ決済機能をテスト実装したが最近試し ...

PHPでシンプルな英数字のCAPTCHAを「Gregwar / Captcha」ライブラリで実装する方法
PHPでシンプルな英数字のCAPTCHAを「Gregwar / Captcha」ライブラリで実装する方法

PHPでシンプルなランダム英数字のCAPTCHAを実装したい。「Gregwar ...