在開發(fā)web應用程序時,json對象的使用日趨普及,尤其是在php語言中。json對象是由JavaScript語言引入的,是一種輕量級的數(shù)據(jù)交換格式,可實現(xiàn)多語言中數(shù)據(jù)的互通。本文就介紹php中對json對象的基本操作。
一、json_encode函數(shù):將數(shù)組格式數(shù)據(jù)轉換為json格式數(shù)據(jù)
當我們需要將一個數(shù)組格式的數(shù)據(jù)傳輸給不同的語言平臺時,需要進行格式轉換,這時我們就可以使用json_encode函數(shù)。下面是我們使用json_encode函數(shù)將數(shù)組“$arr”轉化為json對象的示例代碼:
$arr = array('name'=>'Tom','age'=>18); $json_obj = json_encode($arr); print_r($json_obj);經(jīng)過上述代碼,將輸出如下結果:
{"name":"Tom","age":18}
二、json_decode函數(shù):將json格式數(shù)據(jù)轉化為數(shù)組格式數(shù)據(jù) 當我們需要將從其他平臺傳輸過來的json對象提取數(shù)據(jù)時,我們就可以使用json_decode函數(shù),該函數(shù)將把json格式數(shù)據(jù)還原成關聯(lián)數(shù)組或對象。下面是示例代碼:$json_obj = '{"name":"Tom","age":18}'; $arr = json_decode($json_obj,true); print_r($arr);上述示例代碼將輸出如下結果:
Array([name] => Tom[age] => 18)
三、json_last_error函數(shù):輸出錯誤信息 在使用json_decode函數(shù)時,假如出現(xiàn)了錯誤,我們需要輸出相應的錯誤信息,這時就可以使用json_last_error函數(shù)。下面是該函數(shù)的示例代碼:$json_obj = '{"name":"Tom","age"18}'; $arr = json_decode($json_obj,true); if(json_last_error()){ echo('json_decode error: ' . json_last_error()); } print_r($arr);上述示例代碼將輸出如下結果:
json_decode error: 4
Array([name] => Tom [age] => 18)
$json_obj = '{"name":"Tom","age":18}'; $std_obj = json_decode($json_obj); print_r($std_obj); echo $std_obj->name;上述示例代碼將輸出如下結果:
stdClass Object([name] => Tom [age] =>18)
Tom
$arr = array('name' => 'Tom', 'age' => 18,'score' => '89'); $json_obj = json_encode($arr,JSON_NUMERIC_CHECK); print_r($json_obj);上述示例代碼將輸出如下結果:
{"name":"Tom","age":18,"score":89}
總之,json操作是php編程中的基本操作,它可以滿足多種應用場景。本文介紹了基本的json對象操作,希望對讀者的學習與開發(fā)有所幫助。