How do I parse JSON string with one of the values containing special characters?
JObject obj = JObject.Parse(str);
str value:
{
"message": "some !@#$%^&*(){}:"?/?/|"':>;><{"d":"v"}"
}
I have got execption: After parsing a value an unexpected character was encountered: {.
That JSON is invalid. If a JSON string contains special characters like double quotes
"
, backslashes\
or slashes/
, they need to be escaped with backslashes\
. (See JSON.org.) No JSON parser, including Json.Net, will be able to deal with a JSON string that isn't properly formatted in the first place.Your JSON would need to look like this to be able to be parsed correctly:
The solution is to correctly serialize the string at the source.
Take your JSON and
.stringify()
it.If you have raw data in your ASP.NET MVC view, you can follow this way:
You can also try more preferred way: