2

JSON API サービスとして Rails アプリを使用しています。1 つまたは 2 つの文字列を保持できるフィールドが 1 つあります。以下は、フラット化されたハッシュから情報を取得して、.xml.builder ファイルでこの JSON 要素を作成する方法です。

if hash['advertisements']
    hash['advertisements'].each do |ad|
        xml.advertisements(ad)
    end
end

ハッシュに 2 つの文字列がある場合、結果の JSON は配列になります。

"advertisements": [
    "ad1.png",
    "ad2.png"
]

ただし、文字列が 1 つしかない場合、要素は単なる文字列です。

"advertisements": "ad1.png"

ハッシュに文字列が 1 つしかない場合でも、XML ビルダーに強制的に JSON 配列を作成させる方法はありますか? また、元のハッシュに広告がない場合、json 配列はレンダリングされないことに注意してください。

4

2 に答える 2

0

JSONビルダーを使用するのが最善でより簡単な方法だと思います!

gem install json

2 番目のアイデアは、ORM シリアライザーを使用することです。この方法では、すべてのユース ケースを処理する必要はありません。

于 2011-03-26T17:32:19.247 に答える
0

面白い。アプリが XML ビルダー テンプレートを使用し、それをハッシュに変換してから、json としてレンダリングすることに気付きました。(私はこれを開発しませんでした...)したがって、ハッシュレベルで使用する必要がありました

hash['advertisements'] = Array.hash['advertisements']

それはトリックをしました!

于 2011-04-16T05:24:46.253 に答える