Ⅰ php解析json數據
<?php
$json = '{"APPCount": 2,"data": [
{
"originalID": "991",
"APPName": "優酷",
"APPType": "APK",
"category": "視頻",
"versionName": "3.8",
"versionCode": "5",
"packageName ": "cn.dsp.youku",
" APPStatus": "待審核",
"testReportURL": "",
"downloadCount": 0
},
{
"originalID": "992",
"APPName": "優酷",
"APPType": "APK",
"category": "視頻",
"versionName": "3.8",
"versionCode": "5",
"packageName ": "cn.dsp.youku",
" APPStatus": "安全測評未通過",
"testReportURL": "http: //192.168.0.106: /SecurityTest/sdsd.pdf",
"downloadCount": 0
}
]
}';
$decode = json_decode($json,true);
echo $decode['data'][1]['testReportURL'];
Ⅱ php怎樣接收整個json數組
json_decode
PHP json_decode() 函數用於對 JSON 格式的字元串進行解碼,並轉換為 PHP 變數。
語法
mixedjson_decode($json[,$assoc=false[,$depth=512[,$options=0]]])
參數
json_string: 待解碼的 JSON 字元串,必須是 UTF-8 編碼數據
assoc: 當該參數為 TRUE 時,將返回數組,FALSE 時返回對象。
depth: 整數類型的參數,它指定遞歸深度
options: 二進制掩碼,目前只支持 JSON_BIGINT_AS_STRING 。
Ⅲ php 輸出json及顯示json中的中文漢字詳解及實例
php
輸出json及顯示json中的中文漢字
在php中,我們經常需要將數組輸出json,只需要使用json_encode函數處理一下數組即可,但有的時候數組裡面有中文,使用json_encode函數處理後中文字元被編碼成了Unicode,如何才能在json中顯示中文呢?請看下文。
首先介紹一下php輸出json格式:
一種最簡單的用法,就是把數組直接輸出為json,如下:
<?php
$arr
=
array('p1'=>'ni"hao','p2'=>2,'ch'=>'碼農你好!');
$json
=
json_encode($arr);
echo
$json;
?>
輸出的結果為:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
這里要注意:
雙引號在json中會被自動編碼為\",這個很好理解,js中字元串中是不允許出來單引號、雙引號和反斜杠的。
中文字元被編碼成了Unicode
如果是寫介面,那直接這樣輸出就夠了,中文無需去做處理。等到了客戶端,再去把Unicode的中文轉成漢字即可。但如果要在伺服器端直接輸出漢字出來,那我們可以做如下處理。
<?php
$arr
=
array('p1'=>'nihao','p2'=>2,'ch'=>'碼農你好!');
$json
=
json_encode($arr);
echo
decodeUnicode($json);
function
decodeUnicode($str){
return
preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'return
mb_convert_encoding(pack("H*",
$matches[1]),
"UTF-8",
"UCS-2BE");'
),
$str);
}
?>
輸出:
{"p1":"ni\"hao","p2":2,"ch":"碼農你好!"}
這個操作很簡單,其實就是把輸出結果匹配一下,把Unicode還原成了漢字。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
Ⅳ 如何在PHP中返回Json數據
不對。
返回json用的json_encode()方法沒錯,但是需要在頭部聲明格式。
php返回需要用json_encode()方法來將需要轉換的字元串轉換成json編碼格式(注意:僅僅更換文件內容,而返回的文件依然為文本格式且編碼為gtk)
所以,這里需要在php頭部聲明
header('Content-Type:text/json;charset=utf-8');
JSON(JavaScriptObject Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於ECMAScript(歐洲計算機協會制定的js規范)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。
json通常被作為配置文件,常見還有.ini
Ⅳ php提取json數據
$dataJson = "數據"; // 提供數據
$data = json_decode($dataJson); // 數據按json解析成php數組
$minuteArr = $data['minute']; // 從數組中獲取minute數據
此時$minuteArr中存放的就是你要的數據,但數組下標(鍵)是從0開始,如需要從1開始,則遍歷$minuteArr修改下標(鍵) 或 使用php數組函數進行快速重構。
註:你這問題是還沒入門的初學者問的問題,建議還是多看看書!...
Ⅵ php如何輸出中文json格式字元串
php如何輸出中文json格式字元串
如何對json格式的字元串進行轉換,php提供了兩個函數:
json_encode 對變數進行 JSON 編碼
json_decode 對 JSON 格式的字元串進行編碼
下面看個實例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);
輸出為:
["a","b","c"]
但是,當我們在數組中放入中文的時候,就會出現問題:
$arr = [ '世界', '你好',
];echo json_encode($arr);
輸出的結果為:
["\u4e16\u754c","\u4f60\u597d"]
這個結果顯然不是我們想要的,但是為什麼出現這個呢?
因為當我們的值中包含中文時,php對他進行json編碼時底層會對中文進行unicode編碼,導致結果不可讀,那該怎麼解決呢?
方法一
可以利用 urlencode 和 urldecode 方法繞過這個轉碼為 unicode 的過程,先將中文欄位進行urlencode,然後json_encode,最後再用urldecode處理結果,便可以正常顯示中文。具體代碼如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));
輸出結果為:
["世界","你好"]
方法二
自PHP5.4版本,官方就已經給Json新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項後,就不會自動把中文編碼了。具體代碼如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]
看吧,這才是我們想要的結果 :)
Ⅶ php 和json傳參的問題
變數帶進去解析,這就傳進去了。示例如下:
$test=123;
POSTFILED=>'{
......
"message":"'.$test.'"
}';
Ⅷ 請教php大神,如何提取一個json數據里的某值
這個問題很簡單,在php里json格式就是字元串,可以用php內置函數json_decode($json,true)轉化成數組,取數組的值你應該知道怎麼弄了吧