JSON.NETで'
toをエンコードする方法は?\u0027
json文字列が次のようになるようにします。
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
サンプルコール
Newtonsoft.Json.JsonConvert.SerializeObject(your_object,
Newtonsoft.Json.Formatting.None,
new Newtonsoft.Json.JsonSerializerSettings
{ StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml })
Json.NET 4.5 リリース 11 では、文字列のエスケープを制御するオプションが追加されました。オプションの 1 つは、一重引用符を含むすべての HTML 文字をエスケープすることです。
同じ要件があると思いましたが、@ nick_w のコメントで、一重引用符をまったくエスケープする必要がないことに気付きました。
サーバー側のコードで json を文字列として生成し、それをクライアント側の JavaScript に出力して、JavaScript オブジェクトに変換できる場合、エスケープは必要ありません。
(asp スタイルの構文を使用して示されているコード)
一重引用符のエスケープが必要な追加の手順を使用しています...
var myData = JSON.parse('<%=myServerGeneratedStringWithSingleQuotesEscaped %>');
JSONをそのまま使用して...
var myData = <%=myServerGeneratedString %>;
Javascript は、次のような引用符で囲まれていない文字列を解釈します。
[{"名前":"ビル"}, {"名前":"テッド"}]
JavaScript オブジェクトとして。
サーバー側とクライアント側の文字列を扱う際に混同しやすいため、このリマインダーは誰かにとって役立つかもしれません。OPに当てはまる場合と当てはまらない場合があります-単一引用符を本当にエスケープする必要がある場合が多いと思います。