PHP JSON 資料編碼和解碼

2022-03-30 10:27:02 字數 2698 閱讀 2923

資料表乙個字段需要記錄多個資訊,如記錄關於使用者的其他資訊

資料傳輸,如: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);

print

"json formatted string:

". $str_json_format;

//returns

$obj_json_format =json_encode($input_array, json_force_object);

print

"json object:

". $obj_json_format;

//returns [ "zero", "one", "two" ]

$strjsonformat_with_space =json_encode($input_array, json_pretty_print);

print

"json formatted string with white space:

" . $strjsonformat_with_space;

這是 json encode 的反向操作,用於將 json 編碼的資料轉換為最初編碼的 php資料型別。

json_decode 函式包含 4 個引數,分別為:

返回值:

返回值為true,falsenull

如果json無法被解碼, 或者編碼資料深度超過了遞迴限制的話,將會返回null

<?php

$str_json_array_decoded =json_decode($str_json_format);

print

"resultant decoded array from json array:";

print ""

;print_r($str_json_array_decoded);

print

"

"

;$str_objjson_decoded =json_decode($obj_json_format);

print

"resultant decoded object data from json object:";

print

"

";

print_r($str_objjson_decoded);

print

"

"

;$str_jsonary_decoded = json_decode($obj_json_format,true

);print

"resultant decoded array data from json object:";

print

"

";

print_r($str_jsonary_decoded);

print

"

";

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...