Merge pull request #379 from dogwatch/patch-1
Added JsonConvert.ToString(string, StringEscapeHandling)
This commit is contained in:
@@ -409,6 +409,11 @@ namespace Newtonsoft.Json
|
||||
return ToString(value, '"');
|
||||
}
|
||||
|
||||
public static string ToString(string value, StringEscapeHandling stringEscapeHandling)
|
||||
{
|
||||
return ToString(value, '"', stringEscapeHandling);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the <see cref="String"/> to its JSON string representation.
|
||||
/// </summary>
|
||||
@@ -416,11 +421,16 @@ namespace Newtonsoft.Json
|
||||
/// <param name="delimiter">The string delimiter character.</param>
|
||||
/// <returns>A JSON string representation of the <see cref="String"/>.</returns>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1113,4 +1123,4 @@ namespace Newtonsoft.Json
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user