本文目錄一覽:
如何在php中正確的使用json
將json字元串解析成對象:
$json = ‘{“a”:1,”b”:2}’;
$obj = json_decode($json);
echo $obj-a;//1
echo $obj-b;//2
將對象轉為json字元串
echo json_encode(array(‘a’=1,’b’=2));//{“a”:1,”b”:2}
JSON PHP中,Json字元串反序列化成對象/數組的方法
如下所示:
?php
//php反編碼解析json信息
//json_decode(json字元串);
$city
=
array(‘shandong’=’jinan’,’henan’=’zhengzhou’,’hebei’=’shijiazhuang’);
$jn_city
=
json_encode($city);
//反編碼json
$fan_city
=
json_decode($jn_city,false);//第二個參數false則返回object類型,false可以默認不寫
var_dump($fan_city);//object(stdClass)#1
(3)
{
[“shandong”]=
string(5)
“jinan”
[“henan”]=
string(9)
“zhengzhou”
[“hebei”]=
string(12)
“shijiazhuang”
}
echo
“br
/”;
$fan_city
=
json_decode($jn_city,true);//第二個參數true則返回array類型
var_dump($fan_city);//array(3)
{
[“shandong”]=
string(5)
“jinan”
[“henan”]=
string(9)
“zhengzhou”
[“hebei”]=
string(12)
“shijiazhuang”
}
手動寫的JSON字元串一定要用單引號才能成功反序列化成對象/數組:
?php
//json信息反編碼
//不同php版本,對「純json字元串」解析存在問題
//使用雙引號定義的json字元串反編碼操作變為null
//$jn
=
“{‘name’:’tom’,’age’:’20’,’addr’:’beijing’}”;
//$fan_jn
=
json_decode($jn,true);
//var_dump($fan_jn);//NULL
//使用單引號定義的json字元串反編碼操作會成功
$jn
=
‘{“name”:”tom”,”age”:”20″,”addr”:”beijing”}’;
$fan_jn
=
json_decode($jn,true);
var_dump($fan_jn);
以上這篇JSON
PHP中,Json字元串反序列化成對象/數組的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:C#實現JSON字元串序列化與反序列化的方法jquery序列化form表單使用ajax提交後處理返回的json數據js解析與序列化json數據(二)序列化探討Json序列化和反序列化方法解析Jquery
組合form元素為json格式,asp.net反序列化jQuery實現form表單元素序列化為json對象的方法淺析JSON序列化與反序列化JS實現json的序列化和反序列化功能示例js解析與序列化json數據(三)json的解析探討JavaScript實現的反序列化json字元串操作示例
PHP怎麼把多個數組揉成一個json字元串?
?php
//創建數組
$array = array(
“name” = “Hza”,
“age” = 21
);
//數組轉化為json格式
echo json_encode($array);
echo “br /”;
//創建類
class Student {
public $name;
public $age;
//初始化是賦值
function __construct($name, $age)
{
$this-name = $name;
$this-age = $age;
}
//魔術方法 把對象轉換成字元串格式 以備使用json_encode()函數
function __tostring() {
//對象轉化為json格式
return json_encode($this,JSON_FORCE_OBJECT);
}
}
//實例化對象
$person1 = new Student(‘Hza’, 20);
//輸出json格式
echo $person1;
?
擴展資料:
json六個構造字元:
begin-array = ws %x5B ws ; [ 左方括弧
begin-object = ws %x7B ws ; { 左大括弧
end-array = ws %x5D ws ; ] 右方括弧
end-object = ws %x7D ws ; } 右大括弧
name-separator = ws %x3A ws ; : 冒號
value-separator = ws %x2C ws ; , 逗號
在這六個構造字元的前或後允許存在無意義的空白符(ws):
ws = *(%x20 /; 空間
%x09 /; 水平標籤
%x0A /; 換行或換行
%x0D); 回程
PHP怎麼生成JSON列表啊?
使用json_encode。假設需要轉換成json的數組為$arr,則
$json = json_encode($arr)
$json為轉換出來的json列表
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270642.html