Недавно я решил go с ASP. NET Core 2.2 до ASP. NET Core 3.1 и не предвидел всех критических изменений; почти каждая часть моего приложения сломалась, так как большинство частей полагается на JSON.
. Чтобы защитить от будущих проблем, связанных с JSON, возможно ли будет создать интерфейс, имитирующий текущую реализацию Json и переопределить поведение по умолчанию.
Большая часть моего кода опирается на эти два метода:
Json.Serialize() // used in my razor
Json() // returns an IActionResult
Вариант использования: Страница бритвы: Json .Serialize Do c
<script>
var myModel = @Html.Raw(Json.Serialize(Model))
</script>
Вариант использования: контроллер
public async Task<IActionResult> AjaxGetRoleDetails(int id)
{
return Json(await GetUserRoles(id));
}
Вот методы, которые я хотел бы, когда вышеуказанные методы вызываются соответственно.
JsonConvert.SerializeObject() // override Json.Serialize
Content(JsonConvert.SerializeObject(), new MediaTypeHeaderValue("application/json")) // override Json()
Как может переопределить реализацию системы и вызвать мою собственную реализацию на данный момент, а затем легко вернуться к реализации системы, когда ASP. NET остановится на реализации JSON.