gpt4 book ai didi

escaping - 强制 JSON.Net 转义正斜杠(solidus)字符的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 15:48:03 28 4
gpt4 key购买 nike

因此,出于商业原因,我需要强制 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("/", "\\/"); }
}
}

(您显然可以将 Replace 方法更改为更复杂和更彻底的方法)。

希望这可以帮助。

米奇

关于escaping - 强制 JSON.Net 转义正斜杠(solidus)字符的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com