1

次のコードを使用して JSON を解析できます

$httpresult = @params['body']
$jsonresult = Rho::JSON.parse($httpresult)

しかし、からモデルを作成する方法がわかりません$jsonresult

4

2 に答える 2

0

json_result にデータを取得したら、それらを既存のモデルに配置できます。「製品」という名前のモデルを既に作成していると仮定すると、トランザクションを使用してプロセスを高速化できます。

モジュールの冒頭で、モデル名を要求する必要があります。

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
于 2013-09-13T13:53:01.267 に答える
0

まず、app_infoサーバーからの結果を出力して、応答が有効な JSON 文字列かどうかを確認できます。次に、次を使用して解析するには、URL をデコードする必要があると思います。

Rho::JSON.parse(Rho::RhoSupport.url_decode(@params['body']))

于 2013-08-12T10:07:39.527 に答える