[英]Json field name with forward slash
我必须将 json 反序列化为 C# 类,但许多 json 字段名称中都有正斜杠。
我已经搜索了这个网站,看看是否有其他人问过类似的问题,但没有出现任何问题。
json:
{
"start": "2019-10-24T10:37:27.590Z",
"end": "2019-10-24T11:00:00.000Z",
"requests/duration": {
"avg": 3819.55
}
}
c#
class Metrics
{
public DateTime start = DateTme.MinValue;
public DateTime end = DateTme.MinValue;
public RequestsDuration requestsduration = null;
}
class RequestsDuration
{
public double avg = 0.0;
}
...
Metrics data = JsonConvert.DeserializeObject<Metrics>(json);
json 中的“请求/持续时间”不会反序列化为指标 class。
我可以在反序列化之前这样做:
json = json.Replace("requests/duration","requestsduration")
但我想知道是否有更清洁的方法。
json.net 是否提供了一种方法来处理 json 字段中的特殊字符?
您可以使用 JsonProperty 属性自定义 json 的字段名称。 对于指标 class,您可以执行以下操作:
class Metrics
{
public DateTime start = DateTme.MinValue;
public DateTime end = DateTme.MinValue;
[JsonProperty("requests/duration")]
public RequestsDuration requestsduration = null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.