recorrer objeto mostrar imprimir dinamico datos crear array javascript typescript

mostrar - recorrer objeto json javascript



¿Puedo crear un tipo de TypeScript y usarlo cuando AJAX devuelve datos JSON? (1)

La forma más sencilla de lograrlo es crear una interfaz para IJsonBackup y, cuando reciba json, simplemente envíelo a IJsonBackup

interface IViewEvent { } interface IJsonBackup { Added : number; DEVCount : number; DS1Count : number; Events : IViewEvent[]; Errors : string[]; Rejected : number; Success : bool; Updated : number; }

En su definición de clase:

backupDone(data: IJsonBackup, ajaxElapsed: any) { } $.ajax("/Backup/Data/Backup", { cache: false, dataType: ''json'', type: ''POST'' }) .done(function (data: any) { console.log(data); backupDone(<IJsonBackup>data, ajaxElapsed); });

Tengo la siguiente clase de C #:

public class JsonBackup { public int Added { set; get; } public int DEVCount { set; get; } public int DS1Count { set; get; } public IList<ViewEvent> Events { get; set; } public IEnumerable<string> Errors { set; get; } public int Rejected { set; get; } public bool Success { set; get; } public int Updated { set; get; } }

y este código para devolver datos JSON a mi navegador:

return Json(new JsonBackup { Added = added, DEVCount = devCount, DS1Count = ds1Count, Events = t.Events, Rejected = rejected, Success = true, Updated = updated });

Los datos se devuelven aquí:

$.ajax("/Backup/Data/Backup", { cache: false, dataType: ''json'', type: ''POST'' }) .done(function (data: ) { console.log(data); backupDone(data, ajaxElapsed); });

y utilizado en otros lugares y también aquí:

$.each(data.Events, function (i, item) { $("#stats-list li:eq("+(4+i)+")").after(''<li>'' + item.Description + '' : '' + item.Elapsed + '' ms</li>''); });

¿Es posible para mí crear un tipo de TypeScript y asignar datos a ese tipo, por lo que podría, por ejemplo, obtener una inteligencia al seleccionar cosas como

data.Added or data.DEVCount etc?