資料表乙個字段需要記錄多個資訊,如記錄關於使用者的其他資訊
資料傳輸,如:api介面返回值、ajax中實現非同步載入
配置檔案,如 composer.json 包管理配置檔案
json 使用最頻繁的兩個操作就是編碼和解析資料,php 官方提供了以下 2 個函式實現這兩個操作:
json_encode()
json_decode()
編碼用於將資料繫結到特定格式。需要此過程來保持資料一致性。解碼是乙個反向過程,它將編碼的資料還原回其原始形式。
使用 json_encode 將 php 的一些資料型別轉換為 json 格式,函式包含 3 個引數,分別為:
php 中預定義的 json 常量
json_force_object
json_hex_quot
json_hex_tag
json_hex_amp
json_hex_apos
json_invalid_utf8_ignore
json_invalid_utf8_substitute
json_numeric_check
json_partial_output_on_error
json_preserve_zero_fraction
json_pretty_print
json_unescaped_line_terminators
json_unescaped_slashes
json_unescaped_unicode
json_throw_on_error
<?php$input_array = array("
zero
","one
","two");
//returns ["zero","one","two"]
$str_json_format =json_encode($input_array);
"json formatted string:
". $str_json_format;
//returns
$obj_json_format =json_encode($input_array, json_force_object);
"json object:
". $obj_json_format;
//returns [ "zero", "one", "two" ]
$strjsonformat_with_space =json_encode($input_array, json_pretty_print);
"json formatted string with white space:
" . $strjsonformat_with_space;
這是 json encode 的反向操作,用於將 json 編碼的資料轉換為最初編碼的 php資料型別。
json_decode 函式包含 4 個引數,分別為:
返回值:
返回值為true
,false
和null
。
如果json
無法被解碼, 或者編碼資料深度超過了遞迴限制的話,將會返回null
<?php"$str_json_array_decoded =json_decode($str_json_format);
"resultant decoded array from json array:";
print ""
;print_r($str_json_array_decoded);
"
;$str_objjson_decoded =json_decode($obj_json_format);
"resultant decoded object data from json object:";
"
";"print_r($str_objjson_decoded);
"
;$str_jsonary_decoded = json_decode($obj_json_format,true
"resultant decoded array data from json object:";
"
";";print_r($str_jsonary_decoded);
"
php 可以將任意資料型別轉換為 json 格式,除了 resource data
json 解碼時,必須先去除掉字串中的反斜槓 "\",不然會導致解析失敗,可以使用stripslashes
對字串進行處理後,再使用 json_decode 解析
如果需要解碼的 json 資料中包含有反斜槓 "\",應該使用如下**進行解碼:
$obj = \json_decode(stripslashes($json));
JSON資料編碼 解碼框架
編碼 把資料寫成json結構過程 解碼 把資料從json文件中讀取的過程,就是將字串分析之後讀入到乙個集合物件中,這個集合物件的結構可能是陣列,也可能是字典。編碼 解碼框架 1 sbjson,比較老得json編碼 解碼框架,現在更新任然很頻繁,支援arc 2 touchjson,比較老得json編碼...
資料編碼和處理
csv資料處理 import csv 讀 csv.reader,csv.dictreader 寫 csv.writer,csv.dictwriter 更高階可考慮pandas json資料處理 import json 讀 json.loads 寫 json.dumps xml資料處理 簡單xml處理...
Hadoop中的資料編碼 解碼器
在海量資料儲存系統中,好的壓縮演算法可以有效的降低儲存開銷,減輕運營成本。hadoop作為當前主流的海量資料儲存與計算平台,當然也不例外,再其內部實現了幾種經典的編碼 解碼演算法來提供給使用者選擇,以達到提高應用系統的效能。因此,本文將主要圍繞hadoop中的資料編碼 解碼器展開詳細地討論。在 ha...