只好求助於 Google 大神翻啊找的,才知道原來 PHP 的 json_decode 函式在許多狀況下都無法解碼。況且我的 PHP 版本是 5.1.6 的,沒有 json_last_error() 可以看錯誤代碼,也不知到底是那裡有問題?
後來發現了一套更方便的工具 PEAR 的 Services_JSON。
PEAR Services_JSON 是一個套件,但事實上我們如果只是要取用 Services_JSON 的解碼功能的話,完全不用管他的安裝;把 PEAR 的 Services_JSON下載 下來,解壓縮後裡面有個 JSON.php,放到我們寫 PHP 的地方,即可︰
有沒有很簡單,以上的範例是用物件的方式。如果我們想要像和 json_decode("$str",true) 一樣,以陣列( associative arrays )的方式來表示,多帶一個 SERVICES_JSON_LOOSE_TYPE 參數就可以︰<?php include 'JSON.php'; $json = new Services_JSON(); $data = $json->decode($str); ?>
<?php include 'JSON.php'; $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $data = $json->decode($str); ?>
沒有留言:
張貼留言