如何解析其中一个值包含特殊字符的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 });