當前位置:首頁 » 編程語言 » phpjson轉xml

phpjson轉xml

發布時間: 2023-06-30 02:27:10

A. 怎樣通過php程序返回xml格式的數據

無論是返回 json 還是 xml 數據,區別僅在於數據的格式。


返回 xml 格式數據示例如下:


<?php
//指示返回數據格式為xml
header('Content-Type:text/xml');
?>

<?xmlversion="1.0"encoding="utf-8"?>

<?php

//構造xml
//$xmldata="
//<data>
//<site_name>$site[name]</site_name>
//........
//<data>";

echo$xmldata;

?>

B. 請問PHP如何解析這樣的json值如何獲取其中某個值內容呢 代碼如下:

你是PHP傳給前端獲取值還是後台PHP獲取這個值然後解析?
如果是前端ajax獲取的,直接data['參數名']['參數名']就可以了;
如果是後台,需要比如$a = 剛才那個json值,$b = json_decode($a);如果輸出echo $b->參數名->參數名;如果解析,$b['參數名']['參數名']

C. 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程序設計有所幫助。

D. php 如何聲明返回數據格式為 JSON

xml格式返回的是數據一般是這樣的,但也有不同:
<?xml version="1.0" encoding="gbk"?> <root> <head> <actdate>20170805</actdate> <trdate>20170805</trdate> <trtime>142410</trtime> <trseq>20170807001</trseq> <succflag>1</succflag> <retcode>0000</retcode> <retmsg>鎴愬姛</retmsg> </head> <body> <rowcount>0</rowcount> </body> </root>
一般xml直接用php的:simplexml_load_string();解析成數組,但我解析的時候提示:有無法解析的數據編碼。
也就是數據亂碼的那部分,解決亂碼我用了header的聲明,但不管用,最後用了:
iconv('utf-8','gbk',$a);
問題解決,先轉碼,後解析
最後json轉換就行了。

E. PHP---APP介面02

JSON&XML

XML: 是一種嘩碧運標記語言,設計的宗旨是傳輸數據

JSON: 輕量級的數據交換格式

APP介面主要是用JSON輸出格式

APP介面輸出格式三要素:

1. code::錯誤碼

2. msg:錯誤亂梁碼對應的描述

3. data:介面返回的數據

誰有許可權調用APP介面,客戶端需要帶著憑證來調用APP介面


JWT的原理:

服務端認證之後,生成一個JSON對象,返回給用戶。後續客戶端所有請求都會帶上這個JSON對象。服務端依靠這個JSON對象來認定用戶身份。

組成: Header, Payload, Signature

1. Header

說一下我是什麼

header通常包含了兩部分:類型和加密演算法

{

    "alg": "HS256",

    "typ": "JWT"

}

header需要經過Base64Url編碼後作為IWT的第一部分。

2. Payload

payload包含了claim, 三種類型reserved, public, private

reserved這些claim是JWT預先定義的,不強制使用,常用的有:

1). iss: 簽發者

2). exp: 過期的時間戳

3). sub: 面向的用戶

4). aud: 接收方

5). iat: 簽發時間

{

    "sub":  "1234567890",

    "name":  "John Doe",

    "admin": true

}

payload需要經過Base64Url編碼後作為JWT的第二部分。

3. Signature

創建簽名使用編碼後的header和payload以及一個密匙,使用header中指定的簽名演算法進行簽名

HMACSHA256(

base64UrlEncode(header) + "." +

base64UrlEncode(payload),

secret

)

簽名是在服務端慧沒進行的,客戶端並不知道,所以是安全的。

F. 煩,PHP接收POST過來的JSON格式數據,內含html實體,無法解析

你接受過的數據用json_decode();處理一下!

至於html實體被轉為代碼的話!並不影響的頁面的顯示!如果你非要處理的話可以用html_entity_decode()來處理,他的功能和操作你可以看http://www.w3school.com.cn/php/func_string_html_entity_decode.asp

$data=$_POST['data'];
$data_arr=json_decode($data,true);//轉為數組
print_r($data_arr);

G. php怎麼接收json類型數據

PHP接收JSON格式的數據
在API服務中,目前流行採用json形式來交互。
給前端調用的介面輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。
接收前端提交的json數據稍微復雜一點,原因是:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內容無法解析,如果用$_POST數組來接收就會失敗!
此時可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來獲取提交的數據
查看手冊,可以發現$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區別:
$_POST:通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。此變數僅在碰到未識別 MIME 類型的數據時產生。$HTTP_RAW_POST_DATA 對於 enctype="multipart/form-data" 表單數據不可用。也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過來的數據不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,比如 text/xml 或者 soap 等等。
補充說明:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。

熱點內容
微軟不給源碼 發布:2025-02-11 16:13:37 瀏覽:38
php的get方法 發布:2025-02-11 16:12:30 瀏覽:967
源碼網嘉 發布:2025-02-11 16:07:06 瀏覽:192
免費ftp服務軟體 發布:2025-02-11 15:58:06 瀏覽:866
大櫻桃建園為什麼要配置授粉樹 發布:2025-02-11 15:58:00 瀏覽:629
五菱宏光s頂配有哪些配置 發布:2025-02-11 15:50:57 瀏覽:287
華為8加128配置有哪些 發布:2025-02-11 15:48:20 瀏覽:580
壓縮機三轉子 發布:2025-02-11 15:45:54 瀏覽:827
linux操作系統shell 發布:2025-02-11 15:45:53 瀏覽:339
安卓模擬器如何選擇安裝 發布:2025-02-11 15:34:26 瀏覽:177