當前位置:首頁 » 編程語言 » php循環json

php循環json

發布時間: 2023-04-23 12:53:55

① 如何在php中解析json

目前,JSON已經成為最流行的數據交換格式之一,各大網站的API幾乎都支持它。
從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。
一、json_encode()
該函數主要用來將數組和對象,轉換為json格式。先看一個數組轉換的例子:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);

結果為
{"a":1,"b":2,"c":3,"d":4,"e":5}

由於json只接受utf-8編碼的字元,所以json_encode()的參數必須是utf-8編碼,否則會得到空字元或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。

二、索引數組和關聯數組
PHP支持兩種數組,一種是只保存"值"(value)的索引數組(indexed array),另一種是保存"名值對"(name/value)的關聯數組(associative array)。
由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。
比如,現在有一個索引數組
$arr = Array('one', 'two', 'three');
echo json_encode($arr);

結果為:

["one","two","three"]

三、類(class)的轉換
下面是一個PHP的類: class Foo { const ERROR_CODE = '404'; public $public_ex = 'this is public'; private $private_ex = 'this is private!'; protected $protected_ex = 'this should be protected'; public function getErrorCode() { return self::ERROR_CODE; } }
現在,對這個類的實例進行json轉換:

$foo = new Foo;
$foo_json = json_encode($foo);
echo $foo_json;

輸出結果是
{"public_ex":"this is public"}

可以看到,除了公開變數(public),其他東西(常量、私有變數、方法等等)都遺失了。

② php 循環輸出 json 數組

<?php
$Tdata='[{"A_Name":"a1","ICNo":"","A_ContNo":"","A_QQNo":""},{"A_Name":"a2","ICNo":"","A_ContNo":"","A_QQNo":""},{"A_Name":"a3","ICNo":"","A_ContNo":"","A_QQNo":""}]';

$arr=json_decode($Tdata,true);
//var_mp($arr);
echo stripcslashes ($arr[0][A_Name]);
?>
上面的方法可以列印輸出,json_decode($Tdata)輸出的結果是一個對應,而json_decode($Tdata,true)輸出的是一個數組

③ php獲取json裡面內容

$jsonString='....yourjson....';
$result=json_decode($jsonString,true);
$dataCount=count($result['data']);
if($dataCount>0){
for($i=0;$i<$dataCount;$i++){
//這里處理每一條物流狀態
}
}

④ php 讀取 json 裡面的欄位內容

方法和詳細的操作步驟如下:

1、第一步,打開php編輯器,創建一個新的php文件,例如:index.php,然後填寫基本代碼,見下圖,轉到下面的步驟。

⑤ php 中 json_encode 只保留 value

循環將每個數組的值裝入一個新數組,然後將新數組轉換成json格式即可實現。示例如下:

<?php
header("Content-type:text/html;charset=utf-8;");
$str='[{"id":"1","數據1":"11","數據2":"12"},{"id":"2","數據1":"21","數據2":"22"},{"id":"3","數據1":"31","數據2":"32"}]';
$data=json_decode($str,true);
$arr=array();
foreach($dataas$key=>$item){
$arr[]=array_values($item);

}
print_r(json_encode($arr));
//[["1","11","12"],["2","21","22"],["3","31","32"]]
?>

⑥ PHP使用POST傳遞json數據的接收與處理問題

前端傳給伺服器的只是json 格式的字元串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )

var_mp(json_decode($json));
var_mp(json_decode($json, true));
如果不帶參數,則返回為對象
帶上true時,返回數組

foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
單獨處理每個key 和對應的value就好

⑦ php如何獲取json中數據

可以用$obj=>key 的方式直接讀取 也可以先轉換為數組 用遍歷數組的方法讀取

<?php
$json='{"a":100,"b":200,"c":300,"d":400,"e":500}';
//首先將json字元串轉換成關聯數組
$arr=json_decode($json,true);
//然後循環讀取數據
foreach($arras$item){
echo$item;
echo"<br/>";
}
?>
運行結果:
100
200
300
400
500
熱點內容
大激戰腳本 發布:2024-11-01 18:35:25 瀏覽:110
中國大學mooc密碼要求是什麼 發布:2024-11-01 18:33:45 瀏覽:816
jrtplib編譯 發布:2024-11-01 18:06:01 瀏覽:227
java代碼中if 發布:2024-11-01 18:02:40 瀏覽:378
android定時刷新 發布:2024-11-01 17:59:43 瀏覽:999
炎黃解說我的世界伺服器生存 發布:2024-11-01 17:59:42 瀏覽:543
如何清楚網頁緩存 發布:2024-11-01 17:53:58 瀏覽:552
linux文件許可權不夠 發布:2024-11-01 17:53:19 瀏覽:918
c語言中10是什麼意思 發布:2024-11-01 17:45:08 瀏覽:893
裝棉衣壓縮袋 發布:2024-11-01 17:37:18 瀏覽:297