У меня есть структура данных, подобная JSON (которую я не хочу менять), которая в настоящее время создается файлом .aspx
, выплевывая javascript. Похоже, что .NET ел jQuery на обед, а затем вырвался ...Возвращение JSON, содержащее функции javascript из ASP.NET MVC
Я хотел бы переписать все это на действие контроллера MVC, которое возвращает JsonResult
, в основном, создавая анонимный объект и передавая его return Json(data)
.
Однако я не могу понять, как построить объект C#, когда некоторые свойства объекта JSON, который я хочу построить, на самом деле являются функциями JavaScript. Как мне это сделать?
Пример:
Я хочу создать следующий JSON-подобный объект:
{
id: 55,
name: 'john smith',
age: 32,
dostuff: aPredefinedFunctionHandle,
isOlderThan: function(other) { return age > other.age }
}
Вы видите, что я хочу, чтобы иметь возможность указать, как функция обрабатывает для функций JavaScript, которые я определил в другом месте (в файлах .js
, как правило) и что я хочу определить новые встроенные функции.
Я знаю, как построить часть этого объекта в C#:
var data = new { id = 55, name = "john smith", age = 32 };
return Json(data);
Есть ли хороший способ сделать также остальное?
JSON явно исключает функции, поскольку он не предназначен для структуры данных только для JavaScript (несмотря на JS в названии). Поэтому мы не должны включать имя функции в JSON –