【发布时间】:2018-09-05 03:44:24
【问题描述】:
static void Main(string[] args)
{
var newLineChar = Char.Parse("\u2028");
var jsonStr = @"{""value"":""some chars " + newLineChar + @"""}";
var jObject = Newtonsoft.Json.Linq.JObject.Parse(jsonStr);
var jsonStrAfterParse = jObject.ToString(Newtonsoft.Json.Formatting.None);
}
我有一个 JSON 字符串,例如:
"{\"value\":\"一些字符\u2028\"}"
在我尝试使用 Newtonsoft.Json 解析它之后,我得到了 JSON:
"{\"value\":\"一些字符 \\u2028\"}"
行分隔符字符“\u2028”被解析为“\\u2028”。我无法确定是否有任何其他字符有同样的问题。有人能帮忙吗?谢谢。
【问题讨论】:
-
请从即时窗口分享
jsonStr的值。jsonStrAfterParse也一样。 -
@mjwills 我添加了几张照片
-
我可以使用
\u2028和Environment.NewLine重现此行为。 This 似乎是相关的。 -
我现在正试图理解这个问题。您是说您希望 \u2028 仍以未编码的字符形式出现在 JSON 字符串中吗?要不然是啥?它正在工作as I expect it to。
-
是的,这似乎是预期的行为。 @erYYer 也检查this answer。