Словарь не сериализуется как массив. Кроме того, ключи в словаре должны быть уникальными, и вы, вероятно, получите исключение, что ключ с таким именем уже вставлен, когда вы попытаетесь запустить код на стороне сервера. Попробуйте использовать массив значений:
var data = new[]
{
new { key = timestamp, value = "random message" },
new { key = timestamp, value = "2nd chat msg" },
new { key = timestamp, value = "console line!" },
};
return Response.AsJson(data);
Сериализованный JSON должен выглядеть примерно так:
[
{ "key":"2011.09.03 15:11:10", "value":"random message" },
{ "key":"2011.09.03 15:11:10", "value":"2nd chat msg" },
{ "key":"2011.09.03 15:11:10", "value":"console line!" }
]
теперь в вашем javascript вы можете выполнить цикл:
$.getJSON(dataSource, { req: 'getchat' }, function (data) {
$.each(data, function(index, item) {
// use item.key and item.value to access the respective properties
addChatEntry(item.key, item.value);
});
});