我有这样的JSON字符串:将JSON字符串转换为“复杂”类?
{
"success":true,"user_id":"309","id":"309","sessId":false,"email":null,"name":"Mai Van Quan","username":"quanmv","role":"Reseller Admin","messages":"","org_name":null,"microPayNumber":"4949","microPayWord":"neocam","mobile":null,"permissions":{"ADD_CAMERA":true,
"REMOVE_CAMERA":true,
"EDIT_CAM_GENERAL":true,
"ACCESS_CAM_TECHNICAL":true,
"EDIT_CAM_PKG":true,
"PREVIEW_CAM":true
},"type":"sp","time":1279702793,"reseller":1,"status":"ok"}
我想将其转换为C#对象,使用JSON.NET。 JSON.NET可以将其转换为“泛型”对象,但我想将其转换为更具体的对象。我创建了这个类:
internal class User
{
public User(User u)
{
status = u.status;
id = u.id;
sessId = u.sessId;
email = u.email;
username = u.username;
role = u.role;
messages = u.messages;
org_name = u.org_name;
microPayNumber = u.microPayNumber;
microPayWorld = u.microPayWorld;
mobile = u.mobile;
permissions = u.permissions;
type = u.type;
time = u.time;
reseller = u.reseller;
status = u.status;
}
public bool successs { private set; get; }
public string user_id { private set; get; }
public string id { private set; get; }
public string name { private set; get; }
public bool sessId { private set; get; }
public string email { private set; get; }
public string username { private set; get; }
public string role { private set; get; }
public string messages { private set; get; }
public string org_name{ private set; get; }
public string microPayNumber { private set; get; }
public string microPayWorld { private set; get; }
public string mobile { private set; get; }
public Dictionary<string,bool> permissions { private set; get; }
public string type { private set; get; }
public int time { private set; get; }
public int reseller { private set; get; }
public string status { private set; get; }
}
但JSON.NET似乎无法将给定字符串转换为用户对象。我尝试了一些方法,但都失败了。
编辑:例如:
var ob = JsonConvert.DeserializeObject<User>(str);
例外:异常已被调用的目标抛出。
如何将此字符串有效地转换为对象,因为需要转换多个字符串类型。
谢谢
你是否收到任何错误信息? – 2010-07-21 09:28:22
“他们全部失败”并不是非常具有描述性。解释你的尝试,以及发生了什么。如果由于私人财产制定者的失败,我不会“惊讶”。 – 2010-07-21 09:28:37
@jon:+1看到私人设置... :) – 2010-07-21 09:29:30