使用Newtonsoft和C#的JSON字符串解码问题

时间:2017-12-04 15:39:42

标签: c# json json.net

在下面的(删节)反序列化的json字符串中,我在阅读" href"字段(VS2017,C#)。

"version": "2.0",
"label": "Production from aquaculture excluding hatcheries and nurseries (from 2008 onwards)",
"href": "http://ec.europa.eu/eurostat/wdds/rest/data/v2.1/json/en/fish_aq2a?precision=1&species=SAL&aquaenv=SEA&fishreg=0&fishreg=10&fishreg=27&fishreg=5&fishreg=9&fishreg=37&fishreg=34&fishreg=NSP&fishreg=4&fishreg=1&unit=EUR&unit=EUR_T&unit=TLW&aquameth=CAG",...

我正在使用一个C#类,其中包含前三项的字段:

public string Version { get; set; }
public string Label { get; set; }
public string EurostatURL { get; set; }

检索版本和标签没问题,但EurostatURL字段始终为空。据我所知,它是一个字符串字段,就像前两个字符串字段一样,只有更长的时间和http前缀,但我可以弄清楚为什么会产生任何不同。任何帮助非常感谢。

2 个答案:

答案 0 :(得分:2)

解串器如何知道hrefEurostatURL?告诉它,或重命名你的班级。

重命名

public string Version { get; set; }
public string Label { get; set; }
public string Href { get; set; }

属性

public string Version { get; set; }
public string Label { get; set; }
[JsonProperty("href")]
public string EurostatURL{ get; set; }

答案 1 :(得分:2)

您必须指定要引用的JSON属性:

[JsonProperty("href")]
public string EurostatURL { get; set; }