У меня есть эта строка 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 может преобразовать его в объект «generics», но я хочу преобразовать его в более конкретный объект. Я создал этот класс:
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, похоже, не удалось преобразовать данную строку в объект пользователя. Я пробовал некоторые методы, но они терпели неудачу.
EDIT: например:
var ob = JsonConvert.DeserializeObject<User>(str);
исключения: Исключение было брошено в адресат вызова.
Как я могу преобразовать эту строку в объект, эффективно, потому что необходимо преобразовать несколько типов строк.
Спасибо
у вас есть сообщение об ошибке? –
«они провалили все», это не очень описательно. Объясните, что вы пробовали, и что произошло. Я не был бы полностью удивлен, если бы это было неудачно из-за создателей частной собственности. –
@jon: +1 для просмотра частного набора ... :) –