![]() |
| | #1 |
| Senior Member 註冊日期: 2005-05-29 住址: http://mamba.zapto.org/bbs/
文章: 119
|
先簡單的談一下什麼是 JSON JSON 全稱 JavaScript Object Notation是一種非常輕量級的資料交換格式 它是基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集 JSON 主要利用了成對的 {} 來包住各個object(物件),用成對的 [] 來包各個array(陣列), 用成對的 "" 來包住各字串,用逗號來區隔各變數而資料型態有 string, number, array, object 下面簡單的JSON格式,敘述了一個 object json 擁有一個成員變數,這個成員變數中有含有三個物件 PHP 代碼: 而query包含一個Array ,這個Array中又含了三個Object,前面二個Object含有三個成員 id,type,title,而最後一個Object array 包含一個陣列,如此解釋還明白吧? 但是要怎麼用呢? 很簡單 alert('I have ' +json.query.length + ' object.'); //alert I have 3 object. alert('type='+json.query[1].type+'\r\ntitle'+json.query[1].title); //alert type=b title=JSON 全稱 JavaScript Object Notation alert('陣列索引3='+json.query[2].array[3]); //alert 陣列索引3=D 這樣操作資料時更簡便,不需要和複雜的DOM打交道,所需要的資料可以很輕鬆的取得 例如上面的例子 json.query[i].title 如此就可以取得第i筆的title內含的值 PHP的發展是很迅速,當程式界(台灣)對JSON還一知半解時或者全然不知何為JSON時 PHP已經在最新的版本5.2.0中納入核心,並且預設狀態是啟用,相較於其他的Script語言 PHP可謂一馬當先,在5.2.0版本中為JSON實作了兩個函數 json_decode() 和 json_encode() 前者是將JSON格式的字串還原成PHP原生的陣列 後者則是將PHP原生陣列編譯成JSON格式的字串 不過,由於Javascript支援Unicode,如果在存取資料庫時使用非Ascii的字元,如中、日、韓 需要將字元編碼轉換成UTF8,不然經過json_encode()後的字串會是亂碼 待續 |
| | |
| | #2 |
| 論壇站長 註冊日期: 2004-10-06 住址: http://www.twvbb.com
文章: 1,574
|
移動到教學文章庫 ![]() 這我在 ptt php 板上有看到 demo,遽聞可以做到即時的上傳速度與比例顯示? 其實我也是屬於一知半解的那個^^" 期待您的續文
__________________ vBulletin 問題請在論壇討論,請勿私下詢問我,以利後人參考 |
| | |
| | #3 | |
| Senior Member 註冊日期: 2005-05-29 住址: http://mamba.zapto.org/bbs/
文章: 119
| 引用:
實作起來有些複雜 小弟也還在參悟中.... | |
| | |
| | #4 |
| Senior Member 註冊日期: 2005-05-29 住址: http://mamba.zapto.org/bbs/
文章: 119
|
經過上一篇簡單介紹JOSN後 本篇就來實作如何使用JOSN 下面範例使用需要使用MySQL4.1以上版本 編碼全程採用utf8 承接上一篇的資料格式,表中共有三個欄位id,type,title 資料表規格如下 CREATE TABLE `news` ( `id` int(10) unsigned NOT NULL auto_increment, `type` varchar(255) NOT NULL default '', `title` varchar(64) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; PHP 代碼: 相信大家對JSON這玩意有更深一層的了解 當然JSON的應用不只是範例中那麼簡單 有興趣一起研究吧 |
| | |