Вы можете использовать RestSharp для первоначального запроса, который должен автоматически преобразовывать JSON в подходящий объект передачи данных (DTO).Оттуда вы можете использовать что-то вроде AutoMapper для преобразования из класса DTO -> ViewModel.
DTO (конечно, не зная, как выглядит ваш JSON):
public class VersionDto
{
public string Name { get; set; }
public string Version { get; set; }
}
Окончательный результат примерно такой:
[HttpGet]
public ActionResult Index()
{
var client = new RestClient ("http://myservice");
List<VersionDto> versions = client.Execute<List<VersionDto>> (new RestRequest ("/GetVersions"));
var vms = Mapper.Map<IEnumerable<VersionDto>, IEnumerable<VersionViewModel>> (versions);
return View(vms);
}
В вики RestSharp есть много документов о том, как она отображает JSON в ваши классы DTO, позволяя вам меньше беспокоиться о сериализации и больше о вашей бизнес-логике.