Asp.net 在C中反序列化json时出错#
我得到了json这样的响应Asp.net 在C中反序列化json时出错#,asp.net,json,Asp.net,Json,我得到了json这样的响应 data={"Id": "234", "Name": "pinky", "MobileNumber": "", "ClassName": "Class1_Physics", "DOBTime": "1990-04-11 15:46:38", "Landline": "", "Status": "Unmarried"} 我想反序列化json并插入到表中。 我为它创建了两个类,并使用Newtonsoft的dll进行反序列化 public class JsonResu
data={"Id": "234", "Name": "pinky", "MobileNumber": "", "ClassName": "Class1_Physics", "DOBTime": "1990-04-11 15:46:38", "Landline": "", "Status": "Unmarried"}
我想反序列化json并插入到表中。
我为它创建了两个类,并使用Newtonsoft的dll进行反序列化
public class JsonResult
{
public string Id { get; set; }
public string Name { get; set; }
public string MobileNumber { get; set; }
public string ClassName { get; set; }
public string DOBTime { get; set; }
public string Landline { get; set; }
public string Status { get; set; }
}
public class JsonResultRoot
{
[JsonProperty(PropertyName = "data")]
public string Data { get; set; }
public JsonResult JsonResult
{
get { return JsonConvert.DeserializeObject<JsonResult>(Data); }
}
}
public类JsonResult
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
公共字符串MobileNumber{get;set;}
公共字符串类名{get;set;}
公共字符串时间{get;set;}
公共字符串固定线路{get;set;}
公共字符串状态{get;set;}
}
公共类JsonResultRoot
{
[JsonProperty(PropertyName=“data”)]
公共字符串数据{get;set;}
公共JsonResult JsonResult
{
获取{返回JsonConvert.DeserializeObject(数据);}
}
}
代码:decodedUrl:存储实际的json数据/字符串
var JsonData=JsonConvert.decodedUrl.JsonResult 如果您的JSON包含此
数据=
部分,则它是无效的JSON。无法使用JSON.NET库对其进行反序列化
为了反序列化,您可以简单地清除此部分:
public class JsonResult
{
public string Id { get; set; }
public string Name { get; set; }
public string MobileNumber { get; set; }
public string ClassName { get; set; }
public string DOBTime { get; set; }
public string Landline { get; set; }
public string Status { get; set; }
}
// Usage:
jsonString = jsonString.Replace("data=").Trim();
var jsonObject = JsonConvert.DeserializeObject<JsonResult>(jsonString);
public类JsonResult
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
公共字符串MobileNumber{get;set;}
公共字符串类名{get;set;}
公共字符串时间{get;set;}
公共字符串固定线路{get;set;}
公共字符串状态{get;set;}
}
//用法:
jsonString=jsonString.Replace(“data=).Trim();
var jsonObject=JsonConvert.DeserializeObject(jsonString);
当然,总的来说,这看起来很糟糕。只有在“您得到了类似于此的json响应”并且对此无能为力的情况下,才应该这样做。如果有任何可能使传入的格式正确,那么最好这样做