真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

這篇文章主要介紹“怎么理解PHP中JSON的編碼與轉(zhuǎn)碼”,在日常操作中,相信很多人在怎么理解PHP中JSON的編碼與轉(zhuǎn)碼問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么理解PHP中JSON的編碼與轉(zhuǎn)碼”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,棕樹數(shù)據(jù)中心服務(wù)有保障!

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

JSON是什么

JSON 主要用于傳送數(shù)據(jù),它是一種輕量級(jí)的數(shù)據(jù)交換的格式,它能夠完全的不同于PHP的編程語言來進(jìn)行儲(chǔ)存和表示數(shù)據(jù)。

它比較容易閱讀和編寫,同時(shí)JSON對(duì)于機(jī)器的解析和生成也是比較簡(jiǎn)單,通過JSON能夠十分有效的提高數(shù)據(jù)之間傳送的效率。

我們?cè)赑HP中已經(jīng)有內(nèi)置的JSON拓展,接下來我們就來看一下PHP中的JSON函數(shù),應(yīng)該如何使用PHP語言來編碼JSON對(duì)象。

json_encode()JSON編碼

在PHP中的json_encode()是用來對(duì)變量進(jìn)行JSON編碼的,該函數(shù)的基本語法格式如下:

string json_encode ( $value [, $options = 0 ] )

其中需要注意的是:運(yùn)行json_encode()函數(shù)成功的話,返回的結(jié)果就是JSON的數(shù)據(jù),如果運(yùn)行錯(cuò)誤,返回的結(jié)果是false;

參數(shù)$value表示的就是需要進(jìn)行編碼的值,其中json_encode()比較特殊的是,只有UTF-8 編碼的數(shù)據(jù)對(duì)該函數(shù)有效,參數(shù)options表示的是由常量組成的二進(jìn)制的掩碼,這些常量有:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT。

接下來我們通過示例來看一下PHP中json_encode()函數(shù)的使用,也就是將PHP的數(shù)組元素轉(zhuǎn)換為JSON格式的數(shù)據(jù),示例如下:

 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
   $arr1 = array('一' => 1, '二' => 2, '三' => 3, '四' => 4, '五' => 5);
   echo json_encode($arr1);
?>

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

由上述示例我們能夠看到,通過json_encode()能夠?qū)HP的數(shù)組元素轉(zhuǎn)換為JSON合適的數(shù)據(jù),而且只有UTF-8 編碼的數(shù)據(jù)對(duì)該函數(shù)有效。

上述示例轉(zhuǎn)換的是PHP中的一維數(shù)組,接下來我們看一下多維數(shù)組轉(zhuǎn)換的結(jié)果是什么樣的,示例如下:

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

上述示例是通過函數(shù)將PHP中的數(shù)組元素進(jìn)行轉(zhuǎn)換,接下來我們看一下將PHP對(duì)象轉(zhuǎn)換為JSON格式的數(shù)據(jù),示例如下:

name;
    }
}
$person1 = new Person();
echo json_encode($person1);//{"name":"public name"}
  ?>

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

再來看一個(gè)示例:

name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));
 
   echo json_encode($e);
?>

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

由此我們便通過json_encode()函數(shù)完成了PHP中對(duì)象轉(zhuǎn)換為JSON格式。

json_decode()JSON解碼

PHP中能夠通過json_decode()函數(shù)來對(duì)JSON格式的字符換進(jìn)行轉(zhuǎn)換成PHP的變量格式,這也就是解碼。下面我們看一下json_decode()函數(shù)的基本語法格式,示例如下:

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

其中需要注意的是:參數(shù)json_string表示需要進(jìn)行轉(zhuǎn)換也就是解碼的JSON格式的字符串,同json_encode()函數(shù)一樣,這個(gè)進(jìn)行解碼的數(shù)據(jù)也必須是UTF-8的編碼數(shù)據(jù);參數(shù)assoc表示當(dāng)參數(shù)是true的時(shí)候,返回的結(jié)果是個(gè)數(shù)組,當(dāng)參數(shù)是false是返回的結(jié)果是對(duì)象;

參數(shù)depth表示的是整數(shù)類型的參數(shù),參數(shù)options表示的是二進(jìn)制的掩碼,與json_encode()不同的是該函數(shù)目前沒有支持這么多,目前只支持 JSON_BIGINT_AS_STRING

接下來我們通過示例來看一下PHP怎樣解碼,示例如下:

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

通過上述示例我們看到了通過json_decode()對(duì)JSON進(jìn)行解碼,上述是解碼成數(shù)組,下面我們看一下解碼成對(duì)象,示例如下:

 value1 [key2] => value2
?>

輸出結(jié)果:

怎么理解PHP中JSON的編碼與轉(zhuǎn)碼

由此我們便通過json_encode()函數(shù)與json_decode()函數(shù)完成了PHP數(shù)據(jù)與JSON的編碼與解碼。

到此,關(guān)于“怎么理解PHP中JSON的編碼與轉(zhuǎn)碼”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


文章標(biāo)題:怎么理解PHP中JSON的編碼與轉(zhuǎn)碼
地址分享:http://weahome.cn/article/gjsdij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部