告诉Json.Net在序列化对象时写单引号而不是双引号

打电话时,Newtonsoft.Json.JsonConvert.SerializeObject(myObject)我得到的键和值都用双引号括起来,如下所示:

{"key" : "value"}

我希望将它们括在单引号中,如下所示:

{'key' : 'value'}

可以使用Json.Net吗?

回答:

是的,这是可能的。如果您JsonTextWriter显式使用而不是使用JsonConvert.SerializeObject(),则可以将设置QuoteChar为单引号。

var obj = new { key = "value" };

StringBuilder sb = new StringBuilder();

using (StringWriter sw = new StringWriter(sb))

using (JsonTextWriter writer = new JsonTextWriter(sw))

{

writer.QuoteChar = '\'';

JsonSerializer ser = new JsonSerializer();

ser.Serialize(writer, obj);

}

Console.WriteLine(sb.ToString());

输出:

{'key':'value'}

小提琴:https :

//dotnetfiddle.net/LGRl1k

请记住,在JSON中的键和值周围使用单引号被认为是非标准的(请参阅JSON.org),并且可能会导致严格遵守该标准的解析器出现问题。

以上是 告诉Json.Net在序列化对象时写单引号而不是双引号 的全部内容, 来源链接: utcz.com/qa/412390.html

回到顶部