打电话时,Newtonsoft.Json.JsonConvert.SerializeObject(myObject)我得到的键和值都用双引号括起来,如下所示:
Newtonsoft.Json.JsonConvert.SerializeObject(myObject)
{"key" : "value"}
我希望将它们括在单引号中,如下所示:
{'key' : 'value'}
可以使用Json.Net吗?
是的,这是可能的。如果您JsonTextWriter显式使用而不是使用JsonConvert.SerializeObject(),则可以将设置QuoteChar为单引号。
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),并且可能会导致严格遵守该标准的解析器出现问题。