как ни странно, я использую почти аналогичную методологию, но вместо анализа json я фактически применяю форматирование html к структуре json из вспомогательного метода в моем контроллере. так что в основном мой контроллер возвращает обратно полностью отформатированный результат json, и все, что нужно сделать функции jquery, это поместить ее в соответствующий div, в данном случае это $ ('# propertyList'). html (data).
вот как это выглядит на виде:
<script type='text/javascript'>
function GetLocationHighlites() {
$.ajaxSetup({ cache: false });
$.getJSON('/en/Property/GetLocationHighlites/', null,
function(data) { JsonData(data); });
}
function JsonData(data) {
if (data.length != 0) {
$('#propertyList').html(data);
$('#propertyList').slideDown('fast');
return false;
}
};
$(document).ready(function() {
GetLocationHighlites();
});
</script>
и в контроллере:
public JsonResult GetLocationHighlites()
{
IBlockData block = WebPagesMapper.GetLocationHighlites(propertiesWorldwideLuxury);
string htmlBlock = string.Format(_block, block.Header, block.Content);
return Json(htmlBlock);
}
_block в вышеприведенном JsonResult GetLocationHighlites () является строковой константой в соответствии с:
private string _block = @"<div class='Block'>
<div class='header'>
{0}
</div>
<div class='BlockContent-body'>
{1}
</div>
</div>";
мой взгляд на предмет, и в этом случае моя (слабая :)) попытка сохранить его СУХОЙ.