You can learn about generics (List<T>) in the C# programming guide.
Learn to manage data collections using List<T> in C#
As stated, the aspx [WebMethod] as returns JSON data as {"d": {object}}. This is not consistent with modern REST APIs.
Example
Markup
<div>
<asp:Button ID="AjaxPost" runat="server" Text="AJAX" />
</div>
<div>
<table id="ticker-table" border="1">
<thead>
<tr>
<th>symbol</th>
<th>description</th>
<th>exchange</th>
<th>full_name</th>
<th>ticker</th>
<th>TYPE</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
JavaScript/jQuery
$("#<%=AjaxPost.ClientID%>").on('click', function (e) {
e.preventDefault();
var data = {
};
$.ajax({
type: "POST",
contentType: "application/json",
url: "WebForm1.aspx/Chart_Symbols",
data: JSON.stringify(data),
})
.done(function (data) {
console.log("success");
console.log(data);
$('#ticker-table tbody tr').remove();
var html = '';
for (var i = 0; i < data.d.length; i++)
html += '<tr>' +
'<td>' + data.d[i].symbol + '</td>' +
'<td>' + data.d[i].description + '</td >' +
'<td>' + data.d[i].exchange + '</td >' +
'<td>' + data.d[i].full_name + '</td >' +
'<td>' + data.d[i].ticker + '</td >' +
'<td>' + data.d[i].TYPE + '</td >' +
'</tr>';
$('#ticker-table tbody').append(html);
})
.fail(function (jqXHR, textStatus, c) {
console.log("failure");
console.log(textStatus);
});
});
Web Method
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static List<ChartSymbolsModel> Chart_Symbols()
{
List<ChartSymbolsModel> model = PopulateData();
return model;
}
private static List<ChartSymbolsModel> PopulateData()
{
return new List<ChartSymbolsModel>()
{
new ChartSymbolsModel()
{
symbol = "SPX",
description = "S&P 500",
exchange = "NASDAC",
full_name = "NASDAC",
ticker = "3961",
TYPE = "Index"
},
new ChartSymbolsModel()
{
symbol = "Foo",
description = "BAR",
exchange = "NASDAC",
full_name = "NASDAC",
ticker = "8523",
TYPE = "Stock"
}
};
}
}
public class ChartSymbolsModel
{
public string symbol { get; set; }
public string full_name { get; set; }
public string description { get; set; }
public string exchange { get; set; }
public string ticker { get; set; }
public string TYPE { get; set; }
}