[英]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.