diff --git a/Src/Newtonsoft.Json/JsonConvert.cs b/Src/Newtonsoft.Json/JsonConvert.cs
index 81d50a15..e29f4829 100644
--- a/Src/Newtonsoft.Json/JsonConvert.cs
+++ b/Src/Newtonsoft.Json/JsonConvert.cs
@@ -409,6 +409,11 @@ namespace Newtonsoft.Json
return ToString(value, '"');
}
+ public static string ToString(string value, StringEscapeHandling stringEscapeHandling)
+ {
+ return ToString(value, '"', stringEscapeHandling);
+ }
+
///
/// Converts the to its JSON string representation.
///
@@ -416,11 +421,16 @@ namespace Newtonsoft.Json
/// The string delimiter character.
/// A JSON string representation of the .
public static string ToString(string value, char delimiter)
+ {
+ return ToString(value, delimiter, StringEscapeHandling.Default);
+ }
+
+ public static string ToString(string value, char delimiter, StringEscapeHandling stringEscapeHandling)
{
if (delimiter != '"' && delimiter != '\'')
throw new ArgumentException("Delimiter must be a single or double quote.", "delimiter");
- return JavaScriptUtils.ToEscapedJavaScriptString(value, delimiter, true);
+ return JavaScriptUtils.ToEscapedJavaScriptString(value, delimiter, true, stringEscapeHandling);
}
///
@@ -1113,4 +1123,4 @@ namespace Newtonsoft.Json
}
#endif
}
-}
\ No newline at end of file
+}
diff --git a/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs b/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs
index ed618139..6a1e5f3c 100644
--- a/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs
+++ b/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs
@@ -224,13 +224,18 @@ namespace Newtonsoft.Json.Utilities
}
public static string ToEscapedJavaScriptString(string value, char delimiter, bool appendDelimiters)
+ {
+ return ToEscapedJavaScriptString(value, delimiter, appendDelimiters, StringEscapeHandling.Default);
+ }
+
+ public static string ToEscapedJavaScriptString(string value, char delimiter, bool appendDelimiters, StringEscapeHandling stringEscapeHandling)
{
using (StringWriter w = StringUtils.CreateStringWriter(StringUtils.GetLength(value) ?? 16))
{
char[] buffer = null;
- WriteEscapedJavaScriptString(w, value, delimiter, appendDelimiters, (delimiter == '"') ? DoubleQuoteCharEscapeFlags : SingleQuoteCharEscapeFlags, StringEscapeHandling.Default, ref buffer);
+ WriteEscapedJavaScriptString(w, value, delimiter, appendDelimiters, (delimiter == '"') ? DoubleQuoteCharEscapeFlags : SingleQuoteCharEscapeFlags, stringEscapeHandling, ref buffer);
return w.ToString();
}
}
}
-}
\ No newline at end of file
+}