我正在像json那样得到回应
data={"Id": "234", "Name": "pinky", "MobileNumber": "", "ClassName": "Class1_Physics", "DOBTime": "1990-04-11 15:46:38", "Landline": "", "Status": "Unmarried"}
我想将json deserilize并插入表中。 我为它创建了2个类,并使用了牛顿软件的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); }
}
}
代码:
decodingUrl:存储实际的json数据/字符串
var JsonData = JsonConvert.DeserializeObject(decodingUrl).JsonResult;
答案 0 :(得分:0)
如果您的JSON包含此data=
部分,则它是无效的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);
当然,总的来说它看起来很糟糕。你应该只做“如果你在这样的json得到回应”,你就无能为力了 如果有可能使传入格式正确,那么最好这样做。