如何使用JSON.NET將'
編碼爲\u0027
?如何在JSON.NET中對單引號/撇號進行編碼
使JSON字符串會是這個樣子:
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
如何使用JSON.NET將'
編碼爲\u0027
?如何在JSON.NET中對單引號/撇號進行編碼
使JSON字符串會是這個樣子:
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
Json.NET 4.5發行11增加了一個選項來控制串逃逸。其中一個選項是轉義所有包含單引號的HTML字符。
樣品呼叫
Newtonsoft.Json.JsonConvert.SerializeObject(your_object,
Newtonsoft.Json.Formatting.None,
new Newtonsoft.Json.JsonSerializerSettings
{ StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml })
是否可以使用單引號進行編碼?像這樣'{'Id':8,'CompanyName':'Jane \ u0027s bakery'}'? – Serge
我以爲我有同樣的要求,但@ nick_w的評論使我意識到,我並不需要在所有的逃避單引號。
如果你生成json作爲服務器端代碼中的字符串,然後輸出到客戶端的JavaScript,所以它可以轉換爲JavaScript對象,然後轉義是不需要的。
使用需要逃逸單引號額外的步驟
(採用asp風格語法中的代碼)...
var myData = JSON.parse('<%=myServerGeneratedStringWithSingleQuotesEscaped %>');
使用JSON,因爲它是...
var myData = <%=myServerGeneratedString %>;
的Javascript將解釋不引號的字符串,如
[{「name」:「Bill」},{「name」:「Ted」}]
as javascript objects。
因爲在處理服務器端和客戶端字符串時很容易混淆,所以此提醒可能對某人有用。它可能會或可能不適用於OP - 我確信有很多情況下單引號真正需要轉義。
感謝您的提示。但是,如果'myServerGeneratedString'爲空,並且您放棄了單配額,則會出現無法處理的JavaScript語法錯誤。如果保留單配額並且'myServerGeneratedString'爲空,則不會有比可以檢查的空字符串更多的損害。這就是爲什麼我保持他們,即使它不知何故是醜陋的。 –
爲什麼你需要用這種方式編碼撇號? 「{」Id「:8,」CompanyName「:」Jane's bakery「}'是有效的JSON。 –
JjQuery的parseJSON失敗,因爲撇號異常.. – CoffeeCode
我明白了。您的前端代碼如何獲得JSON? –