ben JSON biçiminde bir sorgunun sonuçlarını döndüren bir ASP.Net web işleyicisi varKaçış Alıntı
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;
}
sorun bazen döndürülen veriler içinde tırnak vardır ve ihtiyacım olduğunu ifade etti javascript-kaçmak için böylece bir js nesnesine düzgün şekilde oluşturulabilir. Verilerimde alıntılar bulmanın bir yoluna ihtiyacım var (alıntılar her zaman orada değil) ve önlerine bir "/" karakteri yerleştiriyor.
yanıt örneği metin (yanlış):
{"rows":[{"id":"ABC123","length":"5""},
{"id":"DEF456","length":"1.35""},
{"id":"HIJ789","length":"36.25""}]}
Ben "yani benim yanıtı olmalıdır kaçmak gerekir: (Ayrıca
{"rows":[{"id":"ABC123","length":"5\""},
{"id":"DEF456","length":"1.35\""},
{"id":"HIJ789","length":"36.25\""}]}
, C# için oldukça yeni kodlama genel gerçekten) yani benim kodunda başka bir şey saçma görünüyor bana bildirin
+1 Güzel yapıldı. –
Diğer özel JS karakterleri ile verileri işlemez: ters eğik çizgi, satırsonu, satır başı. –
Gerçekten çok iyi yapılmadı - David'in belirttiği gibi, bu pek çok özel karakter için işe yaramayacak. @Lone Coder'ın cevabı aşağıdadır. – zcrar70