Railsアプリケーションでは、デコードする必要のある複雑なJSON文字列を送信しています。それは私が知っている問題ではありません。
すべてを実装する前に、いくつかのサンプルJSON構造にアクセスして、すべての変数にアクセスできるかどうかを確認しようとしています。問題は、名前が可変である可能性があることです。
{"configurations" : [
{ "drinks" : [
{"menus" : [
{ "hot" : [
{"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
{"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
] },
{ "cold" : [
{"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
{"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
] },
{ "terminals" : [ {"id" : 4}, {"id": 6}, {"id": 7} ] },
{ "keys" : { "debit" : "on", "credit": "off" } }
] }
] } ] }
さて、次のフィールドは可変です:"drinks"、 "hot"、"cold"。他のすべてのフィールドは同じと呼ばれます。
ここで、デコードした後、このJSON文字列内のすべての変数にアクセスしたいと思います。実装する前に、簡単なJSONを試しました。
{"configuration" : [ { "drinks" : [ { "id":15, "unit":"0.33" } ] } ] }
Railsでデコードした後、
{ "configuration" => [{"drinks" => [{"id" => 15, "unit" => "0.33" }]}]}
id
たとえば、unit
「飲み物」という単語を使用せずに、どのようにアクセスできますか。ソリューションは、上記の例に合わせて拡張可能である必要もあります。
いくつかの追加情報:大きなJSONでは、そこにリストされているすべてのアイテム(ID)にアクセスし、それらをテーブルに保存して新しいIDを返し、それをJSONに挿入し直す必要があります。(これを行う必要がある理由を説明するには、追加のページまたは4 ^^が必要です)。