Palm 如何處理JSON - Ares 教學 (7)
上次講過WebOS 如何取得Google Finance 的股價資料 , 不過我用Palm 做了處理才可以使用 ....
這是最核心的code :
| var url0 = "http://finance.google.com.hk/finance/info?client=ig&q=HKG:0005"; // do AJAX request var request = new Ajax.Request(url0, { method: 'get', evalJSON: 'force', onSuccess: this.gotResults.bind(this) }); |
1. 當按button 時, 會啟動一個 Ajax.Request (object name 係 case sensitve ... ) 的object ,
2. 讀取google finance 的網址 (變數 url0) ,
3. 取得資料後,再執行Procedure 'gotResults'
但是新問題出現了 .... 原來WebOS 不接受Google finance 的資料格式 ....
google finance 的JSON 格式 ( http://finance.google.com.hk/finance/info?client=ig&q=HKG:0005 ) :
| // [ { "id": "705303" ,"t" : "0005" ,"e" : "HKG" ,"l" : "82.70" ,"l_cur" : "$82.70" ,"ltt":"16:00" ,"lt" : "8月6日 16:00" ,"c" : "+0.05" ,"cp" : "0.06" ,"ccol" : "chg" } ] |
Palm 接受的格式:
| ({ "id": "705303" ,"t" : "0005" ,"e" : "HKG" ,"l" : "82.70" ,"l_cur" : "$82.70" ,"ltt":"16:00" ,"lt" : "8月6日 16:00" ,"c" : "+0.05" ,"cp" : "0.06" ,"ccol" : "chg" }) |
所以我使用了Javascript 的文字處理function (replace) 移除符號 // 及 [ ]
| // remove extra text result = result.replace('//',''); result = result.replace('[',''); result = result.replace(']',''); |
再加上括號 ( ) , 再使用 eval 這個 function , 指示將整段JSON 文字變成資料
| // Re-package data to JSON json = eval('(' + result + ')'); |
最後把JSON 資料中的 " l " 變數 (今次係股價) 放到 price (text field) 顥示
| this.controller.get('price').innerHTML = json.l ; |
如果你了解JSON , 又寫開 web application , 寫WebOS 程式會變得很簡單 ~
ref : https://developer.palm.com/distribution/viewtopic.php?f=55&t=6728
關於本blog ...
本版用作本人的技術經驗交流,最近主係是palm pre , 其實本人還有用Lotus Domino , Linux , MySQL 及Microsoft Server
訪客人數
技術支援/合作及培訓
有關Lotus Domino 的支援查詢或技術合作
歡迎聯絡 (852) 35788288 (所有語音留言會電郵給我) 或者填寫聯絡表格
甲子園電腦教育中心提供Lotus Domino 的系統管理培訓課程, 詳情及開課日期可到網站查閱






