私は非常に「柔軟」な JSON を扱っているため、オブジェクトが配列である場合もあれば、文字列である場合もあれば、まったく存在しない場合もあります。また、かなり深く入れ子になっています。
たとえば、API 呼び出しは結果のリストを返し、各結果にはゼロ、1 つ、または多数のサムネイルが含まれる場合があります。サムネイルが1つしかない場合はサムネイルを返し、多数ある場合は最初のサムネイルを返し、ない場合はサムネイルを返しnil
ます。
RubyのJSONライブラリでこれを行う簡単な方法はありますか?
現時点では、私は次のようなことをしています:
def get_thumbnail
if @json['results']
result = @json['results'].first
thumbnail = result['thumbnail']
if thumbnail
if thumbnail.class == String
thumbnail
elsif thumbnail.class == Array
thumbnail.first
else
nil
end
else
nil
end
end
end
アクセスしている各「レベル」の存在とタイプを確認する以外に、JSON にアクセスするより寛容な方法はありますか?
前もって感謝します。