0
我有一個有趣的問題,其中我的JSON
被返回給相同的URI調用,可能會根據用戶的標識略有不同。我不知道隨着時間的推移可能會改變所有差異的組合。例如,對同一個URL的三個不同請求可以返回這三個不同的JSON表示。Restsharp和反序列化到字典
{ "success":true, "total":1, "list":[{
"uid":"24",
"firstname":"Richard",
"question1":"Y"}
]}
{ "success":true, "total":1, "list":[{
"uid":"25",
"firstname":"Fred",
"question2":"Yes"}
]}
{ "success":true, "total":1, "list":[{
"uid":"26",
"firstname":"Bob",
"surname":"Wilde",
"question3":"Cat"}
]}
注意第一次調用包含Question1
第二調用包含Question2
和第三調用包含surname and Question3
。
反序列化的代碼如下所示: -
var result = client.Execute<ResultHeader<Customer>>(request);
public class ResultHeader<T>
{
public bool Success { get; set; }
public int Total { get; set; }
public List<T> List { get; set; }
}
public class Customer
{
public string Firstname { get; set; } //This is always returned in the JSON
//I am trying to get this...
public Dictionary<string, string> RemainingItems { get; set; }
}
我所試圖做的是要麼返回包含在list
的ALL
事情的字典集合是不常見的,並沒有被反序列化或者沒有包含在list
中的所有東西的字典。一些假設是,如果需要,列表中的所有值都可以視爲字符串。
這可能使用RESTSharp
?我不想在編譯時使用動態的,我不會知道所有的可能性。基本上,一旦我有一本字典,我就可以在運行時循環和映射我需要的地方。
阿哈沒想過扭轉它,看起來不錯,會試一試。 – Rippo