Asp.net-Mvc

JsonResult 將特殊字元解析為 u0027(撇號)

  • June 12, 2020

我正在將我們的一些網路“服務”從 WCF Rest 轉換為 MVC3。

我們的舊 Web 服務從 POCO 返回 JSON 就好了,使用: [WebGet(.... ResponseFormat=WebMessageFormat.Json]

在我的控制器中返回一個簡單的 poco,我使用 JsonResult 作為返回類型,並使用Json(someObject, ...).

在 WCF Rest 服務中,撇號和特殊字元在呈現給客戶端時格式清晰。

在 MVC3 控制器中,撇號顯示為 \u0027。

有什麼想法嗎?我是序列化 JSON 的新手,所以任何指針都會有很大幫助。

範例響應:WCF 休息: {"CategoryId":8,"SomeId":6,"Name":"Richie's House"}

MVC3: {"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"}

這不應該是任何問題,因為兩種表示是等價的:

var a = {"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"};
alert(a.Name);

警報Richie's House

做就是了:

yourObject.Name = yourObject.Name.replace("'", "\\u027");

因此,如果您嘗試在 javascript 中發出警報或在瀏覽器中顯示,它會顯示為:

里奇的房子

引用自:https://stackoverflow.com/questions/5021995