using System.Collections.Generic;
public static void Main()
var json = "[{'idPermiso':1,'nombre':'Catálogos','idUsuario':11478,'email':'labm'},{'idPermiso':2,'nombre':'Remediación','idUsuario':11478,'email':'labm'},{'idPermiso':1,'nombre':'Catálogos','idUsuario':12338,'email':'BGARCIA'},{'idPermiso':2,'nombre':'Remediación','idUsuario':12338,'email':'BGARCIA'}]";
var permisos = JsonConvert.DeserializeObject<IEnumerable<Permiso>>(json);
var usuarios = permisos.GroupBy(item => item.IdUsuario,
(key, group) => new Usuario { IdUsuario = key, Email = group.FirstOrDefault().Email , Permisos = group.ToList()})
foreach(var u in usuarios){
public long IdUsuario{get;set;}
public string Email {get;set;}
public IEnumerable<Permiso> Permisos {get;set;}
public long IdPermiso {get;set;}
public string Nombre {get;set;}
public long IdUsuario {get;set;}
public string Email {get;set;}