簡體   English   中英

.NET核心對象JSON序列化為Javascript格式

[英].NET Core Object JSON Serialization to Javascript format

我將C#對象序列化為普通的JSON字符串時遇到了一些問題。

我使用JsonConvert(Newtonsoft的一個)將模型格式化為JSON。 問題是JSON字符串get在某些Javascript中使用,但格式不好,因為引用被寫為“&quote;” 代替 ”'”。 有想法該怎么解決這個嗎 ?

//...
@{
    var dataJson = JsonConvert.SerializeObject(Model);
}
//...

<script>
    function ChangeGroup(type) {
        $.ajax({
            url: //...,
            data: @dataJson
        });
    }
</script>

我得到的是這個:

錯誤

我忘了設置一些格式化選項?

你可以這樣做:

@{
  var dataJson = new HtmlString(JsonConvert.SerializeObject(Model));
}

默認情況下,ASP.Net Core在呈現@表達式之前將進行HTML編碼,除非表達式求值為具有接口IHtmlContent(HtmlString具有)的類型。 另一種方式是寫

@Html.Raw(dataJson)

在ASP.NET Core中有一個更短,更容易使用和記憶:

@Json.Serialize(Model);

分配給JavaScript值時,生成的JavaScript有效:

<script>
    var model = @Json.Serialize(model);
</script>

有了這個,您不必擔心HTML轉義字符。

我使用以下內容將我的模型中的數據導入JS對象。 以為我會發布可能會幫助將來某人...

var items = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.Items));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM