JSON следует синтаксису JavaScript, поэтому строка в JSON проста:
[404, {"Content-type" => "application/json"}, ["'Bad request'"]]
Что касается XML, ответ не так прост. Вы должны решить, какую структуру тегов вы хотите использовать, и идти дальше. Помните, что документ XML имеет, как минимум, корневой тег. Таким образом, вы можете вернуть документ XML следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<response>Bad request</response>
Один из способов сделать это - использовать гем Builder:
http://builder.rubyforge.org/
Однако я не совсем уверен, зачем вам нужно возвращать строку отдельно в виде JSON или XML. JSON и XML обычно используются для передачи структурированных данных, например, массивы, вложенные данные, пары ключ-значение и т. д. Каким бы ни был ваш клиент, он, вероятно, мог бы просто интерпретировать строку как есть, без какого-либо кодирования JSON или XML, нет?