从方法写入JSON文本

本文关键字:JSON 文本 方法 | 更新日期: 2023-09-27 18:00:32

我想在cshtml页面(razor)中打印一个json文本,我想用javascript填充一个json对象,并在页面加载时做好准备,而不是等到页面加载后再进行ajax调用。

我想做的是类似的事情

/*Some view*/
@{
    ViewBag.Title = "Some title";         
}
<script>
    _SERVER_["someVar"] ="@SomeClass.Models.MovimientosMotivosModel.getMyarray()";
</script>

问题是,当我尝试序列化json时,所有的双引号都被替换为html编码,我的json变得一团糟。。。如何做到这一点?

从方法写入JSON文本

使用Json.Encode方法:

<script>
    _SERVER_["someVar"] = @Html.Raw(Json.Encode(SomeClass.Models.MovimientosMotivosModel.getMyarray()));
</script>

这将确保服务器端的值被正确编码为可以在客户端访问的javascript对象。另一方面,@Html.Raw方法不会像标准的@ Razor函数那样对其进行HTML编码。