我有一個(gè)SQL數(shù)據(jù)庫,我想將SQLa 中的值A(chǔ)PI轉(zhuǎn)換為 c# 代碼。該API包含房間屬性的多個(gè)房間,每個(gè)房間有Guid一個(gè)ID。此代碼有效,但我只能從中獲得一個(gè)房間:string url = "https://api.booking.com/api/room/35bf3c4d-9b5b-40fd-bcf4-a4c2c6c564bc";HttpClient client = new HttpClient();string response = await client.GetStringAsync(url);var data = JsonConvert.DeserializeObject<Class2>(response);當(dāng)我刪除id(Guid) 以獲取所有房間時(shí),我在啟動(dòng)應(yīng)用程序時(shí)收到此錯(cuò)誤:Newtonsoft.Json.JsonSerializationException: '無法將當(dāng)前 JSON 數(shù)組(例如 [1,2,3])反序列化為類型 'Class2',因?yàn)樵擃愋托枰?JSON 對象(例如 {"name":"value"})才能正確反序列化. 要修復(fù)此錯(cuò)誤,請將 JSON 更改為 JSON 對象(例如 {"name":"value"})或?qū)⒎葱蛄谢愋透臑閿?shù)組或?qū)崿F(xiàn)集合接口的類型(例如 ICollection、IList),例如可以從 JSON 數(shù)組反序列化。JsonArrayAttribute 也可以添加到類型中以強(qiáng)制它從 JSON 數(shù)組反序列化。路徑 '',第 1 行,位置 1。'這是沒有 Guid 的代碼:string url = "https://api.booking.com/api/room";HttpClient client = new HttpClient();string response = await client.GetStringAsync(url);var data = JsonConvert.DeserializeObject<Class2>(response);我的問題是簡短的“如何從 api 獲取 json 數(shù)組?”。提前致謝!編輯:這是 class2 的代碼:public class Class2{ public string name { get; set; } public string id { get; set; } public int seats { get; set; } public int? availableFrom { get; set; } public int? availableTo { get; set; }}這是來自以下房間的更長輸出API:[{ "name": "Rum 1", "id": "a31d1fc8-df29-419c-8308-f8bc884b378e", "seats": 10, "availableFrom": null, "availableTo": null }, { "name": "Rum 2", "id": "7defd34d-222d-4980-b28f-e616e8b9003c", "seats": 5, "availableFrom": null, "availableTo": null }, { "name": "Skrubben", "id": "b20390ff-703b-4d80-8c2f-32c0f27158bc", "seats": 5, "availableFrom": 10, "availableTo": 11 }, { "name": "Hangaren", "id": "b89cbacd-c738-477f-aff2-7f22c2b2cd5c", "seats": 100, "availableFrom": null, "availableTo": null }, { "name": "Tv-rummet", "id": "ea6a290f-209b-4ccb-91a4-65d82a674bad", "seats": 10, "availableFrom": null, "availableTo": null },
2 回答

梵蒂岡之花
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
多個(gè) Class2 對象必須使用 List 或 Array 類型來轉(zhuǎn)換它們,您可以嘗試 JsonConvert.DeserializeObject<List<Class2>>(response)
- 2 回答
- 0 關(guān)注
- 264 瀏覽
添加回答
舉報(bào)
0/150
提交
取消