我對客戶的 JSON 有一個非常奇怪的情況。他們發送一個名為 ID 的物件陣列(這是一個數字):

而不是允許簡單決議的預期物件名稱,例如“amenity”。
我們如何將其決議為包含 ID 和名稱的物件串列?這是確切的 JSON 文本:
"amenities":{ "2194":{ "id":"2194", "name":"2 人早餐" }, "2192":{ "id":"2192", "name":"免費 WiFi" } }
還有其他情況,當我們有更多欄位時,每個物件中不僅有 id 和 name
“設施”:{“2194”:{“id”:“2194”,“名稱”:“2人早餐”,“validto”:“2022-10-30”},“2192”:{“id”: "2192", "name":"免費 WiFi", "validto": "2022-10-30" } }
謝謝你們!!!
uj5u.com熱心網友回復:
您需要兩個類,一個是 json 將被轉換成的主類(Class1),另一個是陣列中物件的類(Class2)。然后您可以將 main 中的字典轉換為字典的 Class2 值串列。
public class MyClass1{
public Dictionary<string,MyClass2> amenities;
}
public class MyClass2{
public string id;
public string name;
public string validto;
}
首先反序列化為 MyClass1,然后從 Dictionary 中獲取 Values 并變成 List。
List<MyClass2> list = JsonConvert.DeserializeObject<MyClass1>(jsonstring).amenities.Values.ToList()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/444159.html
