json.extract! db, *Db.json_keys

if(db.root_folder != nil)
  json.contents do
    root = db.root_folder
    json.extract! root, *DbFolder.json_keys

    json.subfolders(root.subfolders) do |folder|
      json.extract! folder, *DbFolder.json_keys
    end

    json.streams(root.db_streams) do |stream|
      json.extract! stream, *DbStream.json_keys
      json.elements(stream.db_elements) do |element|
        json.extract! element, *DbElement.json_keys
      end
    end
  end
end