2016-04-26 64 views
1

因此,我爲最近的一個側項目實現了一個C#RESTful API,並且我注意到,當向API發出GET請求時,我只需要大約8個或者這樣的條目,特別是最新的條目。解析來自Restful API的JSON數據C#

我也縮小了這個兩個不同的問題之一,我相信我的下面的回退代碼在調用deseralize對象時創建的泛型類結構之後有點基本。主要的問題可能是因爲我正在使用Web客戶端下載JSON數據,然後傳遞它,這可能更復雜,以允許我想要的功能?

using (WebClient wc = new WebClient()) 
{ 
    var json = wc.DownloadString("//api call here"); 
    jsonData = JsonConvert.DeserializeObject<List<T>>(json); 
} 

我當然在這裏使用NewtonSoft Json libary。

第二,是否需要對控制器進行更改以允許我只請求8個最新條目?除了允許VS魔法發生之外,我對改變API的知識還很少。

我主要在這裏尋求你的建議,因爲我可能只是擔心什麼,但我只是覺得我的方法是錯誤的,如果數據開始變大,我應該改進我現有的知識。

+0

如果它的api不支持分頁或限制數據,您將始終獲取完整數據 – halit

+1

嘗試使用OData實現您的API,以便在獲取數據時查詢數據。 – Ramin

+0

感謝您的評論Ramin我一直在閱讀OData,它看起來相當有前途,儘管我理想地希望探索找到解決方案的可能性,而無需重新定位。 –

回答

0

爲了清楚地說明這個問題是如何解決的,主要是通過在現有的API上創建特定的觸發器來允許SQL運行,這是我以前不知道的。

這使我可以限制通過通用sql命令返回的數據量。在API上創建了一個單獨的調用,它返回所有數據,並使用異步函數將後面的對象加載到dom中。

是的,你可以使用SQL與API生成的C#魔術。