無法隱式轉換類型 'UserItem' 到 'RootObject'
我如何反序列化JSON這個POCO類?
我只是想deserilize如下圖所示JSON數據轉換成C#定製POCO類和這裏是我迄今所做的;
public static UserItem DownloadJSONString(string urlJson)
{
using (WebClient wc = new WebClient())
{
var json = wc.DownloadString(urlJson);
UserItem userItems = JsonConvert.DeserializeObject<RootObject>(json);
return userItems;
}
}
我有種陷在這裏
這裏我JSON:
{
"meta":
{
"status":200,
"resultSet":
{
"id":"05"
},
"pagination":
{
"count":2,
"pageNum":1,
"pageSize":2
}
},
"results":
{
"id":0,
"name":
"title",
"items":
[
{
"id":0,
"name":"English",
"title":"English",
},
{
"id":0,
"name":"Spanish",
"title":"Spanish;",
}
]
}
}
這裏是我的JSON對象(生成JSON到C#類)
public class ResultSet
{
public string id { get; set; }
}
public class Pagination
{
public int count { get; set; }
public int pageNum { get; set; }
public int pageSize { get; set; }
}
public class Meta
{
public int status { get; set; }
public ResultSet resultSet { get; set; }
public Pagination pagination { get; set; }
}
public class Item
{
public int id { get; set; }
public string name { get; set; }
public string title { get; set; }
}
public class Results
{
public int id { get; set; }
public string name { get; set; }
public List<Item> items { get; set; }
}
public class RootObject
{
public Meta meta { get; set; }
public Results results { get; set; }
}
這裏是我的簡單UserItem
POCO類
public class UserItem
{
public int id { get; set; }
public string name { get; set; }
public string title { get; set; }
}
那麼,什麼是錯的?你有錯誤嗎? –
錯誤:我知道我在做什麼不正確,但不知道如何到'RootObject'爲'UserItem'這是轉換C#類---錯誤=無法隱式轉換類型「UserItem」到「RootObject」 –
自然。 'UserItem'與'RootObject'無關*,因此[反序列化]對象*不能被分配給這樣的變量 - 這就是編譯器類型錯誤產生的原因。考慮:'RootObject root = JsonConvert.DeserializeObject(json); UserItem userItem = DoWhateverYouNeedToGetOneOfThese(root);'在這種情況下適當創建缺少的方法應該是相當簡單的。 –
user2864740