- 1、php 怎麼解釋返回的json數據
- 2、怎麼解析從PHP傳過來的JSON數據?
- 3、如何在PHP中解析json
- 4、php解析json數據
- 5、php如何解析json
- 6、php解析json
php 輸出JSON格式,使用json_encode函數即可 例如: 得到結果: {“fruits”:{“a”:”orange”,”b”:”banana”,”c”:”apple”},”numbers”:[1,2,3,4,5,6],”holes”:{“0″:”first”,”5″:”second”,”6″:”third”}}
js解析處理JSON格式的數據,有多種方法.
(1)現在大多標準瀏覽器,都帶有對JSON的支持,可以直接通過js調用處理:
var obj=JSON.parse(str);//str是php傳來的json數據
(2)使用了jquery等js庫,一般都會提供對json的支持,比如使用jQuery:
var obj=jQuery.parseJSON(str);//str是php傳來的json數據
(3)可以使用json.js來增加瀏覽器的功能(一般針對性引用,在瀏覽器不支持json時載入json.js)
(4)簡單粗暴的解決方法:
var obj = eval (“(” + txt + “)”);//txt是php傳來的json數據
但是使用eval不安全,而且需要是有效的json數據.如果你能保證是安全且正確的數據,可以這樣簡單處理.
給出例子供參考:
?php
// Encode the data.
$json = json_encode(
array(
1 = array(
‘English’ = array(
‘One’,
‘January’
),
‘French’ = array(
‘Une’,
‘Janvier’
)
)
)
);
// Define the errors.
$constants = get_defined_constants(true);
$json_errors = array();
foreach ($constants[“json”] as $name = $value) {
if (!strncmp($name, “JSON_ERROR_”, 11)) {
$json_errors[$value] = $name;
}
}
// Show the errors for different depths.
foreach (range(4, 3, -1) as $depth) {
var_dump(json_decode($json, true, $depth));
echo ‘Last error: ‘, $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
}
?
json_encode
對中文的處理是有問題的:
不能處理GBK編碼,所有的GBK編碼都會替換成空字元;
utf8編碼的中文被編碼成unicode編碼,相當於javascript的escape函數
處理的結果。
為了能正確使用json,首先我們就應該在編碼上採用utf8編碼,然後再對
json_encode的返回結果稍加處理就可以得到正確的結果了。
即需要加:原始數據$json=iconv(“GBK”,”UTF-8″,$json);
json_decode之後需要顯示或使用時,再轉回來
echo iconv(“UTF-8″,”GBK”,$decode[‘data’][0][‘APPName’]);
用json_decode函數將json字元串轉換為數組
?php
$json = ‘{“multi-i1ndex-style”:{“old”:{“0.1″:”123″,”0.2″:”234”}}}’;
echo “pre”;
print_r(json_decode($json, true));
echo “/pre”;
你 定義$str =”你那一大堆字元串”。
然後 用 $arr=json_decode($str);
返回數組,
還有你的格式好像json_decode不出來哦,把格式整理一下,不行就用正則表達式吧
原創文章,作者:BN3HO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126126.html