У меня есть веб-обработчик ASP.Net, который возвращает результаты запроса в формате JSON
public static String dt2JSON(DataTable dt)
{
String s = "{\"rows\":[";
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
s += "{";
for (int i = 0; i < dr.Table.Columns.Count; i++)
{
s += "\"" + dr.Table.Columns[i].ToString() + "\":\"" + dr[i].ToString() + "\",";
}
s = s.Remove(s.Length - 1, 1);
s += "},";
}
s = s.Remove(s.Length - 1, 1);
}
s += "]}";
return s;
}
Проблема в том, что иногда возвращаемые данные содержат в себе кавычки, и мне нужно было бы выполнить javascript-escape, чтобы он мог быть правильно создан в js-объект. Мне нужно найти кавычки в моих данных (кавычки не там каждый раз) и поместить перед ними символ "/".
Пример текста ответа (неправильный):
{"rows":[{"id":"ABC123","length":"5""},
{"id":"DEF456","length":"1.35""},
{"id":"HIJ789","length":"36.25""}]}
Мне нужно было бы избежать "так что мой ответ должен быть:
{"rows":[{"id":"ABC123","length":"5\""},
{"id":"DEF456","length":"1.35\""},
{"id":"HIJ789","length":"36.25\""}]}
Кроме того, я довольно новичок в С# (вообще, кодирование), поэтому, если что-то еще в моем коде выглядит глупо, дайте мне знать.