我正在用cryptocurrencies創建一些應用程序,並且我在某處發現了API的問題。簡化JSON對象以反序列化
我需要一些提示如何簡化我的類的序列化。
public class Data
{
public SUB SUB { get; set; }
public USC USC { get; set; }
public DUX DUX { get; set; }
public XPS XPS { get; set; }
public EQT EQT { get; set; }
... //and a lot more of same classes
}
Here is that REST page with JSON
我已經使用http://json2csharp.com/類生成 - 但在那之後我留下了數以百計的看着相同的類 - 只有其他名稱。我試過替換它,但總是留有空值。
現在我與: -
public class Data
{
public string Id { get; set; }
public string Url { get; set; }
public string ImageUrl { get; set; }
public string Name { get; set; }
...
}
public class RootObject
{
public string BaseLinkUrl { get; set; }
public List<List<Data>> Data { get; set; }
public int Type { get; set; }
}
public static async Task<T> DeserializeStringToObject<T>(string url)
{
return JsonConvert
.DeserializeObject<T>(await GetStreamFromUr(url));
}
或者,也許我應該使用不同的解串器?或者每次迭代循環時檢查一個對象?
使用字典解串器。在你的'RootObject'中添加一個'public Dictionary Data'成員,然後爲每個加密貨幣的固定屬性創建一個'Data'類型。有關詳細信息,請參見[使用ID作爲名稱從json對象創建一個強類型的c#對象](https://stackoverflow.com/q/34213566/3744182)。 –
dbc