❶ php生成及獲取JSON文件的方法
本文實例講述了PHP生成及獲取JSON文件的方法。分享給大家供大家參考,具體如下:
首先定義一個數組,然後遍歷數據表,把相應的數據放到數組中,最後通過json_encode()轉化數組
json_encode()
函數的功能是將數值轉換成
JSON
數據存儲格式。
putjson.php:
<?php
//
生成一個PHP數組
$data
=
array();
$data[0]
=
array('1','吳者然','onestopweb.cn');
$data[1]
=
array('2','何開','iteye.com');
//
把PHP數組轉成JSON字元串
$json_string
=
json_encode($data);
//
寫入文件
file_put_contents('test.json',
$json_string);
?>
有同名的
JSON
文件則覆蓋,沒有則創建。
生成或覆蓋的
JSON
如下:
復制代碼
代碼如下:[["1","\u811A\u672C\u4E4B\u5BB6","www.jb51.net"],["2","\u7F16\u7A0B\u5F00\u53D1","jb51.net"]]
然後,把
JSON
文件中的數據讀取到PHP變數中。
getjson.php:
<?php
//
從文件中讀取數據到PHP變數
$json_string
=
file_get_contents('test.json');
//
把JSON字元串轉成PHP數組
$data
=
json_decode($json_string,
true);
//
顯示出來看看
var_mp($data);
echo
'<br><br>';
print_r($data);
echo
'<br><br>';
echo
'編號:'.$data[0][0].'
姓名:'.$data[0][1].'
網址:'.$data[0][2];
echo
'<br>';
echo
'編號:'.$data[1][0].'
姓名:'.$data[1][1].'
網址:'.$data[1][2];
?>
效果圖:
PS:這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
❷ 請教:php如何實現json的傳值
代碼都基於jquery
jsonp 可以跨域 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'jsonp',
jsonp:'callback',
success:function(data){
/*比如example.php是這樣<?php
$callback=$_REQUEST['callback'];
echo$callback.'('.json_encode(array('id'=>1)).')';?>
這里的data就是{"id":1}
*/
}
});
不跨域 ajax就可以 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'json',
success:function(data){
//這個data就是返回的json即example.php輸出的json
比如example.php是這樣<?phpechojson_encode(array('id'=>1));?>
返回的json就是{"id":1}
}
});
❸ PHP循環讀取JSON
首先你要把JSON數據轉成數組,因為在php中JSON就是一個字元串。
$jsonData='{"list":[{
"goodsid":4290,
"post":[{
"param":"uin",
"name":"賬號"
},{
"param":"goodsid",
"name":"商品ID"
},{
"param":"number",
"name":"下單數量"
}]
},';
//你的JSON數據有點亂,我復制的可能不對
$aryData=json_decode($jsonData,true);//轉碼為數組
var_mp($aryData);//列印
foreach($aryDataas$item){
var_mp($item);//列印每個條目
}
❹ 問大佬php中如何用 foreach解析json
首先,不推薦使用foreach進行自己去解析json字元串,因為php已經封裝了非常好用,且效率不低的內置方法,這個方法就是json_decode。
使用這個函數,可以直接把json數據轉換成數據或者對象,這個是可以控制的。轉換成對象或者數組之後,再使用foreach就可以方便遍歷得到想要的數據。
❺ php獲取json裡面內容
$jsonString='....yourjson....';
$result=json_decode($jsonString,true);
$dataCount=count($result['data']);
if($dataCount>0){
for($i=0;$i<$dataCount;$i++){
//這里處理每一條物流狀態
}
}
❻ 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數據
$str = '{
"10924": {
"id": "10924",
"title": "天津",
"streamline_title": "狗不理",
"unit": "點",
"goods_type": "168",
"goods_type_title": "包子"
},
"10923": {
"id": "10923",
"title": "北京",
"streamline_title": "王府井",
"unit": "點",
"goods_type": "104",
"goods_type_title": "吃貨天堂"
},
"11982": {
"id": "11982",
"title": "南京",
"streamline_title": "夫子廟",
"unit": "點",
"goods_type": "351",
"goods_type_title": "燈會"
}
}';
foreach (json_decode($str) as $v)
{
echo "{$v->id} {$v->title}"; //其他的一樣的
}
❽ php 讀取 json 裡面的欄位內容
方法和詳細的操作步驟如下:
1、第一步,打開php編輯器,創建一個新的php文件,例如:index.php,然後填寫基本代碼,見下圖,轉到下面的步驟。
❾ 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 數組
<?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)輸出的是一個數組