当前位置: 首页 > 面试题库 >

使用JSON.Net序列化包含撇号的字符串

柳刚豪
2023-03-14
问题内容

我正在使用JSON.Net作为c#和Razor视图引擎中的大型MVC 3
Web应用程序的序列化器。对于一个视图中的初始页面加载,在脚本标记中使用倾倒了大量JSON
@Html.Raw(JsonConvert.SerializeObject(myObject))

问题在于某些对象的某些值包含撇号(例如O’Brien之类的名称),JSON.Net不会以任何方式转义或编码。

不能对存储在数据库中的值进行预编码,因为这会使其他各种过程变得非常复杂。

有没有一种方法可以强制JSON.Net对其序列化的对象的值进行HTML编码,就像调用JavaScript时内置的JavaScriptSerializer一样JavaScriptSerializer.Serialize(myObject)?或者,是否有一种方法可以解决这个问题?


问题答案:

尽管在某些情况下,您可能希望将一些JSON作为JavaScript字符串或HTML属性值添加到页面中,但是最常见的做法是直接将其直接包含到JavaScript源中,因为JSON是后面的有效JavaScript语法所有。



 类似资料:
  • 问题内容: 我正在尝试对a进行序列化/反序列化,如果对象是简单类型,这似乎很好,但是当对象更复杂时,它不起作用。 我有这个课: 在我的字典中,我添加了一个带有“重定向链”键的键和一些带有“状态”,“网址”,“父网址”键的简单字符串。我从JSON.Net返回的字符串如下所示: 我用来序列化的代码如下: 反序列化我正在做的事情: 字典恢复正常,所有字符串恢复正常,但是列表未正确反序列化。它只是作为 当

  • 我们在代码中创建查询,方法是在查询的语法中连接字符串,就像创建一个节点一样,查询中的所有属性都是在运行时添加的。 查询在代码中如下所示,其中 节点标签=字符串 properties = JSONObject 执行查询创建时出错因为它不允许在java代码中的查询中使用撇号(')。 在neo4j浏览器上执行相同的查询,但在尝试代码时没有执行相同的查询。 如何解决这个问题并允许同样的情况。 问题2 :-

  • 问题内容: 我想使用类似于JSON.NET的属性将枚举序列化为字符串 示例类: 如果我使用JSON.NET对此序列化: 设置为,我更喜欢。 问题答案: 看一看。应该做你想做的。 编辑: http : //james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_Converters_StringEnumConverter.htm

  • 问题内容: 我正在使用JsonConvert.SerializeObject序列化模型对象。服务器希望所有字段都为字符串。我的模型对象具有数字属性和字符串属性。我无法将属性添加到模型对象。有没有一种方法可以将所有属性值序列化为字符串?我必须仅支持序列化,而不支持反序列化。 问题答案: 您甚至可以为数字类型提供自己的数字。我只是想这和它的作品- 它的快速和肮脏的,你几乎肯定希望把它扩大到支持其他数字

  • 问题内容: 我正在尝试解析一个字符串,我需要使用子字符串来做到这一点。该字符串包含撇号字符。我的问题是,如何使用temp来获取String.indexOf以获取撇号字符的索引? 问题答案: 您的变量名错误(是保留字),应使用转义符:

  • 问题内容: 是否可以使用Json.NET 序列化为NDJSON(换行分隔的JSON)?Elasticsearch API使用NDJSON进行批量操作,我找不到任何暗示 任何 .NET库都支持此格式的信息。 这个答案提供指导反序列化NDJSON,并有人指出,一个能够独立序列每一行和新行加入,但我不一定会调用 支持 。 问题答案: false`](http://www.newtonsoft.com/j