IT業界のすみっこ暮らし

ふと気がついたときの記録

C#:Json内のhtmlタグのエスケープについて

1、JavaScriptSerializer:string ⇒ JSON変換

using System.Web.Script.Serialization;

var json = new JavaScriptSerializer().Serialize("A->B"); // "\"A-\\u003eB\"

HTMLタグのエスケープ

JavaScriptSerializerを利用してJSONに変換する場合、HTMLタグは\u形式のユニコードエスケープされる。
そのため、JSON内のHTMLタグをそのまま使うことが出来ず、"\u003e"⇒">"な感じで再度変換してあげる必要がある。

stackoverflow.com

stackoverflow.com

2、 Json.NET:string ⇒ JSON変換

using Newtonsoft.Json;

var json = JsonConvert.SerializeObject("A->B") // "\"A->B\""

HTMLタグをそのままにしてJSONに変換したい場合はJson.NETを使う。