2010-12-13 107 views
0

我想解析一個JSON結構到數據庫使用rhonobile和我的代碼如下;解析json與rhomobile

def GetTopGainers 
    Rho::AsyncHttp.get(
     :url => 'http://www.xyz.com/xyz', 
     :callback => (url_for :action => :httpget_callback), 
     :callback_param => "") 

    redirect :action => :viewhttp 
    end 

    def httpget_callback 
    $httpresult = @params['body'][0].inspect 
    @params['body'].each do |dailygainers| 
    mygainer = Topgainers.new 
    mygainer.gainers = Topgainers["dailygainers"]["gainers"] 
    mygainer.date = Topgainers["dailygainers"]["date"] 
    mygainer.open = Topgainers["dailygainers"]["Open"] 
    mygainer.close = Topgainers["dailygainers"]["Close"] 
    mygainer.save 
    end 
    WebView.refresh 
    end 

問題是什麼都沒有保存到數據庫。

任何想法?

回答

0

如果你的web服務沒有設置正確的頭文件,你可能會得到字符串數據而不是json數據。你可以使用JSON.parse(@params ['body'])將字符串轉換爲json。

附加rholog.txt將有助於查看是否屬於這種情況。

0

嘗試查看日誌並激活日誌的跟蹤模式,單擊其上的右鍵並選擇選項 - >級別=跟蹤。
會有一些重要的調試信息。如果沒有,請嘗試在這裏放置完整的日誌,以便我們可以更好地爲您提供幫助。

1

由於dailygainers是參數到DO loop.You需要執行像這樣

mygainer.gainers = dailygainers ["dailygainers"]["gainers"] 
mygainer.date = dailygainers ["dailygainers"]["date"] 
mygainer.open = dailygainers ["dailygainers"]["Open"] 
mygainer.close = dailygainers ["dailygainers"]["Close"] 
mygainer.save