[英]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.