作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,出于商业原因,我需要强制 JSON.NET 转义 JSON blob,如下所示:{ url: 'http://some.uri/endpoint' }
作为{ "url": "http:\/\/some.uri\/endpoint" }
也就是说它需要转义正斜杠solidus字符。我知道 JSON 规范不需要这个,而且在技术上两者是相等的,但在这种特殊情况下,我需要使用 JSON.NET 创建与我从其他地方获得的完全相同的字符串。
强制 JSON.NET 执行此操作的最佳方法是什么?
创建一个新的 JSONConverter 子类(例如 MyPedanticStringConverter)并像这样使用它是否有意义?
string json = JSONConvert.SerializeObject(
myObject,
Formatting.None,
new MyPedanticStringConverter());
最佳答案
如果您正在寻找通用解决方案,那么编写转换器可能是您要走的路。
另一种解决方案是以以下方式向类添加属性:
[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
public class MyObject
{
public string Url
{
get;
set;
}
[JsonProperty("url")]
private string UrlJson
{
get { return this.Url.Replace("/", "\\/"); }
}
}
关于escaping - 强制 JSON.Net 转义正斜杠(solidus)字符的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797550/
我是一名优秀的程序员,十分优秀!