JSON.Net反序列化包含特殊字符的字符串



如何解析其中一个值包含特殊字符的JSON字符串?

JObject obj = JObject.Parse(str);

str值:

{
"message": "some !@#$%^&*(){}:"?/?/|"':>;><{"d":"v"}"
}

我得到了exeception:在解析一个值后,遇到了一个意外的字符:{.

该JSON无效。如果JSON字符串包含特殊字符,如双引号"、反斜杠或斜杠/,则需要使用反斜杠对其进行转义。(请参阅JSON.org。)没有一个JSON解析器,包括JSON.Net,能够处理一开始格式不正确的JSON字符串。

您的JSON需要像这样才能正确解析:

{
"message": "some !@#$%^&*(){}:"?/?/|"':>;><{"d":"v"}"
}

解决方案是在源位置正确地序列化字符串。

获取JSON和.stringify()

{
"message": JSON.stringify("your text here")
}

如果ASP.NET MVC视图中有原始数据,可以按照以下方式操作:

{
"message": JSON.stringify("@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.MyString))")
}

你也可以尝试更喜欢的方式:

JSON.stringify({ "message" : message });

相关内容

  • 没有找到相关文章

最新更新