Escape-Zitat in C # für Javascript-Verbrauch

Habe ich eine ASP.Net web-handler, der die Ergebnisse einer Abfrage im JSON-format

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;
}

Das problem ist, dass manchmal die Daten zurückgegeben hat Zitate in es und ich brauchen würde, um javascript-escape-diese so, dass er korrekt erstellt haben, in ein js-Objekt. Ich brauche einen Weg zu finden, Zitate in meinen Daten (Angebote gibt es nicht jedes mal) und legen Sie eine " /" - Zeichen vor Ihnen.

Beispiel-Antwort-text (falsch):

{"rows":[{"id":"ABC123","length":"5""},
{"id":"DEF456","length":"1.35""},
{"id":"HIJ789","length":"36.25""}]}

Ich brauchen würde, um zu entkommen", so meine Antwort sollte sein:

{"rows":[{"id":"ABC123","length":"5\""},
{"id":"DEF456","length":"1.35\""},
{"id":"HIJ789","length":"36.25\""}]}

Auch, ich bin Recht neu in C# (Codierung im Allgemeinen wirklich) also, wenn etwas anderes in meinem code die dummen Blicke lassen Sie es mich wissen.

InformationsquelleAutor der Frage | 2009-04-30

Schreibe einen Kommentar