-
文字列のエスケープ JSON文字列内の特殊文字(ダブルクォーテーション、バックスラッシュ、タブなど)をエスケープするには、C#の文字列リテラルのエスケープシーケンスを使用します。例えば、以下のようなコードを使用することができます。
string jsonString = "{\"name\":\"John\", \"age\":30}";
ダブルクォーテーションやバックスラッシュを含む文字列は、バックスラッシュでエスケープする必要があります。
-
JSONシリアライザを使用する C#では、JSON文字列を生成するためにJSONシリアライザを使用することができます。Json.NET(Newtonsoft.Json)などの人気のあるライブラリを使うと便利です。以下のようなコード例を参考にしてください。
using Newtonsoft.Json; // オブジェクトをJSON文字列にシリアライズする var person = new Person { Name = "John", Age = 30 }; string jsonString = JsonConvert.SerializeObject(person);
この方法を使うと、オブジェクトをJSON文字列に変換する際に自動的にエスケープが行われます。
-
正規表現を使用する 正規表現を使ってJSON文字列内の特殊文字をエスケープすることもできます。以下のようなコード例を参考にしてください。
using System.Text.RegularExpressions; string jsonString = "{\"name\":\"John\", \"age\":30}"; string escapedJsonString = Regex.Replace(jsonString, @"[\u0000-\u001F\\]", match => "\\u" + ((int)match.Value[0]).ToString("x4"));
この正規表現パターンは、Unicodeコードポイントが0から31の範囲にある文字とバックスラッシュをエスケープします。
これらの方法を使うことで、C#でJSON文字列をエスケープすることができます。適切な方法を選択し、お使いの環境や要件に合わせて利用してください。