2012年10月25日 星期四

[php][javascript]php及js轉換json語法

廢話不囉嗦,先來看看這兩個語言的json語法:
PHP:
json_encode();
json_decode();
javascript:
JSON.stringify();
JSON.parse();



PHP:
將陣列轉成json物件:

$alphabet=array('A','B','C');
$json=json_encode($alphabet);
echo $json.'</br>';

將$alphabet這個陣列轉成json物件,顯示結果為:
["A","B","C"]
中文問題 :
json 會將中文轉成類似這樣 : \u500b\u8b9a\u5427
解決方法是轉換是多加 JSON_UNESCAPED_UNICODE 參數 例如 :
json_encode($json, JSON_UNESCAPED_UNICODE);  中文就會正常了


json物件轉回陣列:

$qq=json_decode($json);
echo var_dump($qq);

將$json這個json物件轉回陣列給$qq
用var_dump看看$qq這個陣列 ↓ ,確實轉換成為陣列了

array(3) { [0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "C" }

javascript:

將陣列轉成json物件:

var car=new Array('toyota','BenZ','mazada');
var json = JSON.stringify(car);
document.write('轉成json物件:'+json);

將car轉換成json物件並顯示:
轉成json物件:["toyota","BenZ","mazada"]

json物件轉回陣列:

var qq=JSON.parse(json);
for(var key in qq){
 document.write('['+key+']->'+qq[key]+'</br>');
}

將json物件轉換回陣列給qq並且顯示結果:
[0]->toyota
[1]->BenZ
[2]->mazada


沒有留言:

張貼留言