2014年8月25日 星期一

【PHP】JSON 使用


json(JavaScript Object Notation):JSON 是個以純文字來儲存資料,
更好用的是將陣列或物件轉換成文字。
規則
陣列用[],如:
array('php','javacript','jquery') 會變成:
["php","javacript","jquery"]

物件用{},如
arry('name'=>'steven',tel=>'1234') 變成:
{"name":"steven,"tel":1234}
jquery 使用json
使用: $.parseJSON() 將json解譯
範例
  var str = '{"prodcut_id":"1234",
        "name":"鉛筆",
              "spec":["紅","綠","藍"]
              }';
  var result = $.pasrseJSON(str);
  alert(result.prodcut_id); // 印出1234
  alert(result.spec[0]); // 印出 紅
  
用$.post時可以指定回傳格視為json
  $.post("test.php",{name:$("#name").val()},function (result){
   alert(result.prodcut_id);
  },json);
  
PHP 使用json
編譯解譯分別為:json_encode、json_decode,
但為了操作方便可將物件解譯成array,
此時就要用json_decode($str,true);
  $arr = array("product"=>"1234","name"=>"鉛筆","spec"=>array("紅","綠","藍"));
  $str = json_encode($arr);
  
  $obj = json_decode($str); // 此時會變成 stdClass Object ( [product] => 1234 [name] => 鉛筆 [spec] => Array ( [0] => 紅 [1] => 綠 [2] => 藍 ) )
  $arr = json_decode($str,true); // 結果:Array ( [product] => 1234 [name] => 鉛筆 [spec] => Array ( [0] => 紅 [1] => 綠 [2] => 藍 ) )
  

沒有留言:

張貼留言