我可以使用以下代码解析JSON
$httpresult = @params['body']
$jsonresult = Rho::JSON.parse($httpresult)
但我不知道如何从$jsonresult
创建模型。
答案 0 :(得分:0)
首先,使用app_info
,您可以打印来自服务器的结果,以检查响应是否是有效的JSON字符串。
其次,我认为你必须解码url才能使用:
Rho :: JSON.parse(Rho :: RhoSupport.url_decode(@params ['body']))
答案 1 :(得分:0)
在json_result中获得数据后,可以将它们放在预先存在的模型中。 假设您已经创建了名为“Product”的模型,则可以使用事务来加速该过程。
在模块的开头,您需要型号名称:
require_source 'Product'
然后你可以做这个回调:
def get_callback
if @params['status'] == "ok"
json_result = Rho::JSON.parse(@params['body'])
db = ::Rho::RHO.get_src_db('Product')
db.start_transaction
Product.delete_all
begin
json_result.each do |item|
Product.create({:Brand => item["B rand"], :Name => item["Name"], :SKU => d["SKU"]})
end
db.commit
rescue Exception => e
trace_msg = e.backtrace.join("\n")
puts 'Application initialize failed: ' + e.inspect + ";Trace: #{trace_msg}"
db.rollback
end
WebView.navigate Rho::RhoConfig.start_path
else
WebView.navigate url_for :action => :show_error
end
end