String str ="{\"_id\":\"eta_emp_1\",\"_rev\":\"446-195e9341df50aeed33d2cb833420b100\",";
str+="\"channels\":[\"ch_pri-eta_org\"],\"doc_type\":\"emp\",\"downloaded\":true,";
str+="\"eta_code\":\"abhi\",\"f_name\":\"Abhilash\",\"isactive\":true,";
str+="\"isadmin\":true,\"l_name\":\"Dhondalkar\",";
str+="\"lat\":17.69967582522918,\"lon\":75.89857880026102,";
str+="\"m_name\":\"Dheeraj\",\"mod_at\":1494693566503,\"mod_by\":\"eta_emp_1\",";
str+="\"org_id\":\"eta_org\",\"pwd\":\"abcde\",";
str+="\"reported_by\":[\"e27f41e7-5b84-4c86-838e-97598b4d20a0\",\"8daa0901-f6e8-4fdd-b41c-658aa901899d\",";
str+="\"9bf72297-481c-4d59-a0f4-d5549cb60e27\",\"2e5ce994-2cfb-4e62-88f8-ff1d3a069ca0\"]}";
UserDetails userDetails = JsonConvert.DeserializeObject<UserDetails>(str);
public class UserDetails
{
String _id{get;set;}
String _rev { get; set; }
String[] channels{get;set;}
String doc_type{get;set;}
bool downloaded{get;set;}
String eta_code{get;set;}
String f_name{get;set;}
bool isactive { get; set; }
bool isadmin { get; set; }
long l_name{get;set;}
long lat{get;set;}
String lon{get;set;}
String m_name{get;set;}
long mod_at{get;set;}
String mod_by{get;set;}
String org_id{get;set;}
String pwd{get;set;}
String[] reported_by{get;set;}
}
所有值都设置为null。 无法弄清楚问题。 Pl帮助
答案 0 :(得分:1)
这个课应该有效:
public class UserDetails
{
public string _id { get; set; }
public string _rev { get; set; }
public List<string> channels { get; set; }
public string doc_type { get; set; }
public bool downloaded { get; set; }
public string eta_code { get; set; }
public string f_name { get; set; }
public bool isactive { get; set; }
public bool isadmin { get; set; }
public string l_name { get; set; }
public double lat { get; set; }
public double lon { get; set; }
public string m_name { get; set; }
public long mod_at { get; set; }
public string mod_by { get; set; }
public string org_id { get; set; }
public string pwd { get; set; }
public List<string> reported_by { get; set; }
}
更多帮助:
根据我之前使用JSON.NET的经验,从JSON到正确的类的转换可能有点棘手。上面的网站一直为我提供合适的课程。唯一的例外是维基百科API,因为它是一个动态API,你需要做一个小技巧。
另外,请记住所有属性必须是公开的,因为如果某些内容是私有的(例如在您的问题中),则转换器或其他任何内容都无法访问它。我希望它有用。
答案 1 :(得分:1)
将类中的所有属性标记为public,或者明确地将JsonProperty属性添加到每个属性,如下所示:
public class UserDetails
{
[JsonProperty("_id")]
String _id { get; set; }
...
}
答案 2 :(得分:0)
使用Json Validator时,我得到“根JSON数据必须代表一个对象或一个数组”,因此表明你的JSON最不正确。
这就是为什么无法将string
序列化到您的类,而保留属性null
。
您应该向我们展示您的序列化过程,以了解错误的位置。