我正在使用json.net自动将我的json对象反序列化为.net对象。只要json有效,它就会有效。
但我在json中遇到html问题...特殊字符和引号使json无效。
如何可靠地编码或转义html,以便它是有效的json?我需要一种方法来使用javascript,因为它是客户端发送到服务器端。
修改 举一个我的用例示例,我在我的应用程序中有一个WYSIWYG,我需要输入,作为json对象的一部分,将其发布到我的服务器。
答案 0 :(得分:2)
仅举一个我的用例示例,我的应用程序中有一个WYSIWYG 我需要作为json对象的一部分包含的输入 发布到我的服务器。
假设您在字符串变量中有用户输入:
var userInput = 'Any crap with HTML you can imagine';
您可以简单地对其进行JSON编码,以便将其作为有效的JSON字符串传输:
var json = JSON.stringify({ value = userInput });
现在生成的对象将如下所示:
{
"value": "Any crap with HTML you can imagine"
}
并在您的服务器上将其映射到具有普通Value
字符串属性的POCO。 JSON.stringify
方法将确保将任何输入正确序列化为有效的JSON字符串。
这就是说,我不太明白你需要在JSOn字符串中包装用户输入,然后使用JSON.NET在服务器上反序列化它。我宁愿按原样发送原始输入。这样,您可以在服务器上获得完全相同的值,而无需JSON序列化的开销。