json 全稱:j**ascript object notation ,一種輕量級的資料交換格式
示例: ,"second":}
四個基本規則:
1) 並列的資料之間用逗號(", ")分隔。
2) 對映用冒號(": ")表示。
3) 並列資料的集合(陣列)用方括號("")表示。
4) 對映的集合(物件)用大括號("{}")表示。
優點:1)資料格式較簡單,易於讀寫,格式都是壓縮的,占用頻寬小。
2)支援多種語言,包括actionscript,c,c#,j**a,j**ascript,php,python,ruby等服務端語言,便於伺服器端的解析。
對比serialize,是一種類似於json的資料格式,但是php的serialize是將變數序列化,返回乙個具有變數型別和結構的字串表示式,序列化後的資料格式儲存資料原有型別,適合儲存帶有加密方式的資料串,防止資料被中途擷取反序列化破解,而json適合資料量大,不要求保留原有資料型別的情況下使用
php常用的json函式
json_encode — 對變數進行 json 編碼
json_decode — 對 json 格式的字串進行解碼,當第二個引數為true時將返回array,如果沒有或者預設值false則返回乙個object
example#1
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
輸出example#2
<?php
$json = '';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
輸出object(stdclass)#1 (5)
array(5)
在j**ascript中,ecmascript提供了內建函式json.stringify()和json.parse()來序列化和還原j**ascript物件
json知識整理
1 json字串轉為字典 json.load json.loads 兩個方法功能類似,可選引數也相同,最大的區別在於,json.load方法接受的輸入,即第乙個引數,是包含json資料的檔案物件,如open方法的返回物件,json.loads接受的輸入是json字串,而非檔案物件。從輸入型別的區別也...
XMPP 相關知識整理
xmpp the extensible messaging and presence protocol 中文全稱 可擴充套件通訊和表示協議 簡介 可擴充套件通訊和表示協議 xmpp 可用於服務類實時通訊 表示和需求響應服務中的xml資料元流式傳輸。xmpp以jabber協議為基礎,而jabber是即...
patch,diff相關知識整理
diff 命令列選項 原始檔案 新檔案 幾個常用的選項說明 diff的內容預設輸出到stdout上,所以需要把它重定向到乙個檔案中才能儲存,如下 diff un test0 test1 test1.patch如果是資料夾就加個r 常用 rnu就行 patch 命令列選項 待打補丁的檔案或文件 補丁檔...