對於C#而言,我相當陌生,至少在涉及到這樣的事情時,所以對於我擁有的少量代碼表示歉意。將JSON數據添加到泛型集合
我有一個名爲Project.cs的類,需要用來保存從第三方API獲取的數據對象。
這裏是類:
//Project.cs
public sealed class Project
{
public String Id { get; set; }
public String Title { get; set; }
public String Url { get; set; }
}
,你看到下面的方法,應該接受來自第三方API的數據(JSON)。
此API返回JSON格式的項目列表。
幸運的是我只需要從API(Id,Title和URL)中選擇一些屬性。
不幸的是,我不知道如何從JSON中選擇這些特定的屬性,並將它們轉換爲Project類型的集合。
這是我到目前爲止。我知道它很稀疏。
//ProjectSearch.cs
public IEnumerable<Project> GetProjects(String catId)
{
//Get the data from the API
WebRequest request = WebRequest.Create("http://research.a.edu/api/Catalogs('123')");
request.ContentType = "application/json; charset=utf-8";
WebResponse response = request.GetResponse();
//put each object found in the API into a Project object
var project = new Project();
}
所以,現在,我卡住了。我不知道如何從API中獲取所有對象,並將它們放入Project類型的集合中。我需要一個循環嗎?或者還有另一種類型的做法?從API
樣品JSON:
{"odata.metadata":"http://research.a.edu/api/Catalogs/
$metadata#Catalogs /@Element", "odata.id":"http://research.a.edu/api/Catalogs
('123')",
"Id":"12345", "ParentID":"xxxx","Name":"Test1","Created":"1/1/2015","Modified":"2/1/2015","Deleted","0","URL":"http://yoursite/1",
('123')",
"Id":"7897", "ParentID":"xxxx","Name":"Test2","Created":"4/1/2015","Modified":"7/1/2015","Deleted","1","URL":"http://yoursite/2",
('123')",
"Id":"65335", "ParentID":"xxxx","Name":"Test3","Created":"7/1/2015","Modified":"9/1/2015","Deleted","0","URL":"http://yoursite/3"
}
我迷路了。
如果有人能告訴我,我會很感激。
謝謝!
什麼是JSON數據是什麼樣子? –
您是否使用過JSON解串器的Google? – Gebb
將JSON解析爲一個表示完整數據或解析爲動態的類,然後複製所需的數據? – crashmstr