[英]Problem deserializing and object using json.net
使用json.net將json反序列化為列表。 我的問題是我收到以下消息:
Newtonsoft.Json.JsonReaderException:'解析值時遇到意外字符:[。 路徑“數據”,第1行,位置9。”
我的代碼如下所示:
Dictionary<string, string> JSONObj = JsonConvert.DeserializeObject<Dictionary<string, string>> (response.Content.ToString());
和...
internal class Projects
{
internal object id;
internal string gid;
internal string name;
internal string resource_type;
}
response.Content.ToString()看起來像這樣:
{“ data”:[{“ id”:123456,“ gid”:“ 789”,“ name”:“工具-啟動工具”,“ resource_type”:“項目”},{“ id”:123456,“ gid “:” 789“,” name“:”保留詳細信息“,” resource_type“:”項目“}]}
我的json驗證。 我敢肯定,這是json的格式,但是我對理解錯誤的理解還不夠。 我的方法有什么問題? 如何獲取格式化的數據以與項目列表協調一致?
根據JSON,有一些根對象(“數據”),因此您的模型應如下所示:
public class Project
{
public int id { get; set; }
public string gid { get; set; }
public string name { get; set; }
public string resource_type { get; set; }
}
public class RootObject
{
public List<Project> data { get; set; }
}
然后用於解析您的代碼也將更改:
var JSONObj = JsonConvert.DeserializeObject<RootObject>(response);
我也建議想了約類名第二-你的類實際上是只有一個Project
,不是任何組/集合Projects
。
另外,將id
類型設置為object
似乎會增加不必要的開銷-它可以簡單地為int
/ long
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.