json-encode
json_encode是(╯‵□′)╯PHP中用于將數組或對象轉換為JSON字符串的函數,JSON(JavaSc??ript Object Notation)是一種輕量級ヽ(′▽?zhuān)?ノ的數據交換格式,易于閱讀和編寫(xiě),同時(shí)也易于機器解析和生成,JSON作為一種數據交換格式,已經(jīng)廣泛應用于Web開(kāi)發(fā)中(zhong),例如在A(yíng)jax請求中發(fā)送數據、在服務(wù)器端處理(╯°□°)╯數據等場(chǎng)景。
1、將數組轉換為JSON字符串:
$array = array('name' => '張三', 'age' => 30);$json_str = json_encode($array);echo $json_str; // 輸出:{ "name":"張三","age":30}2、將對象轉換為JSON字符串:
$o(′?`*)bj = new stdClass();$obj->name = '張三';$obj->age = 30;$json_str = json_encode($obj);echo?? $json_str; // 輸出:{ &q??uot;name":"張三","age":30}3、將JSON字符串轉換為數組:
$json_str = '{ "name":"張三","age":30}';$array = json_decode($json_str, true);(′?`*) // 第二個(gè)參數為true表示返回數組,而不是對象print_r($array); // 輸出:Array ( [name] =&(???)gt; 張三 [age] => 30 )4、將JSON字符串轉換為對象:
$json_str = '{ "name&(′▽?zhuān)?quot;:"張三","age":30}';$obj = jso(╯°□°)╯n_decode($json_str); // 注意:這里的(′ω`)返回值是對象,如果需要返回數組,可以將第二個(gè)參數設置為falseprint_r($o???bj); // 輸出:Array ( [name] => 張三 [age] => 30 )1、JSON_HEX_TAG:將雙引號轉義為uXXXX形式,默認情況下,雙引號會(huì )被轉義,如果不希望轉義,可以設置此選項。
2、JSON_HEX_APOS:將單引號轉義為uXXXX形式,默認情況下,單引號不會(huì )被轉義,如果需要轉義,可以設置此選項。
3、JSON_HEX_AMP:將&符號轉義為u0026amp;形式,默認情況下,&符號不會(huì )被轉義,如果需要轉義,可以設置此選項。
4、JSON_NUMERIC_CHECK:檢查非數字值是否可以被編碼為JSON數字,默認情況下,無(wú)法編碼的非數字值會(huì )引發(fā)錯誤,如果希望忽略非數字值,可以設置此選項。
5、JSON_PRETTY_PRINT:以易讀的格式輸出JSON字符串,默認情況(O_O)下,輸出的JSON字符串不會(huì )有縮進(jìn)和換行,如果需要美化輸出,可以設置此選項。
1、如何將中文字符轉換為JSON字符串?
答:可以使??用js??on_enc(′ω`*)ode()函數(shu)將數組或對象轉換為JSON字符串時(shí),設置JSON_UNESCAPED_UNICODE選項,這樣中文字符就不會(huì )被轉義。
$array = array('name' => '張三', 'age' => 30);$json_str = json_encode($array, JSON_UNESCAPED_UNICODE);echo $json_str; // 輸出:{ "name":"張(′?`)三","age":30}2、如何將駝峰命名法的變量名轉換為下劃線(xiàn)命名法?
答:可以使用PHP的內置函數get_object_vars()獲取對象的屬性名,然后使用正則表達式替換駝峰命名法為下劃線(xiàn)命名法。
function camel_to_underscore($name) { return preg_replace_ca??llback('/([a-z])([A-Z]??)/', function ($match) { return $match[1] . '_' . strtolower($match[2]); }, $name);}
客服電話(huà)17325524744
Copyright ? 2012-2018 天津九安特機電工程有限公司 版權所有 備案號:
客服電話(huà)18157301711