CoffeeScript имеет это: http://jashkenas.github.com/coffee-script/#pattern_matching
И, цитируется в верхней части страницы:
«CoffeeScript - это небольшой язык, который компилируется в JavaScript. Подумайте об этом как о менее выдающемся детском брате JavaScript, так и о тех же генах, примерно одинаковой высоты, но о другом стиле. Помимо нескольких бонусов, заявления в CoffeeScript соответствуют друг другу с их эквивалентом в JavaScript, это просто еще один способ сказать это ».
Нет проблем!
var source = "(your JSON");
dynamic roles = JObject.Parse(source).Roles;
После этого вы можете повторно сериализовать роли в XML, достигнув желаемого результата.