在web開發中,常常會用到JSON,它是一種輕量級的數據交換格式。而在后端使用JSON時,我們需要進行序列化和反序列化的操作。以ext框架為例,擴展庫ext-json已經被廢棄,我們需要使用PHP自帶的json_encode和json_decode函數來操作JSON。
// 序列化操作 $data = array('name' =>'John', 'age' =>30); $json = json_encode($data); // 反序列化操作 $data = json_decode($json); echo $data->name; // 輸出 John
需要注意的是,json_encode會將數組轉換成對象,如果想要將數組保持為數組,可以在json_encode函數中傳入參數JSON_FORCE_OBJECT。
$data = array('name' =>'John', 'age' =>30, 'hobbies' =>array('reading', 'swimming')); $json = json_encode($data, JSON_FORCE_OBJECT);
還需要注意的是,JSON只支持utf-8編碼,如果后端數據不是utf-8編碼,需要進行轉換。
// 將gbk編碼轉換成utf-8編碼 $json = json_encode(iconv('gbk', 'utf-8', $data), JSON_FORCE_OBJECT);
在使用ext框架過程中,如果需要操作JSON串,可以使用以上方法進行序列化和反序列化,使得數據在前后端之間有效且準確地傳遞。