oha*_*ryl 3 c# asp.net-mvc json json.net
如何使用包含特殊字符的值之一解析JSON字符串?
JObject obj = JObject.Parse(str);
Run Code Online (Sandbox Code Playgroud)
str值:
{
"message": "some !@#$%^&*(){}:"?/?/|"':>;><{"d":"v"}"
}
Run Code Online (Sandbox Code Playgroud)
我有一个 execption:解析一个值后遇到一个意外的字符:{.
那个JSON无效.如果JSON字符串包含双引号"
,反斜杠\
或斜杠等特殊字符/
,则需要使用反斜杠进行转义\
.(参见JSON.org.)没有JSON解析器,包括Json.Net,将能够处理首先没有正确格式化的JSON字符串.
您的JSON需要看起来像这样才能正确解析:
{
"message": "some !@#$%^&*(){}:\"?/?/|\"':>;><{\"d\":\"v\"}"
}
Run Code Online (Sandbox Code Playgroud)
解决方案是在源处正确序列化字符串.
获取您的 JSON 和.stringify()
它。
{
"message": JSON.stringify("your text here")
}
Run Code Online (Sandbox Code Playgroud)
如果您的 ASP.NET MVC 视图中有原始数据,您可以按照以下方式操作:
{
"message": JSON.stringify("@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.MyString))")
}
Run Code Online (Sandbox Code Playgroud)
您还可以尝试更喜欢的方式:
JSON.stringify({ "message" : message });
Run Code Online (Sandbox Code Playgroud)