无法将JSON数组反序列化为C#列表
我有一个json数组,如下所示无法将JSON数组反序列化为C#列表,c#,asp.net,json,serialization,C#,Asp.net,Json,Serialization,我有一个json数组,如下所示 { "odata.metadata": "https://testapp.mycomp.com/$metadata#UnitDetail", "value": [ { "Id": 1, "UnitId": 238905, "Active": false, "Name": "Rakesh", "ContactNumber": "0070002934"
{
"odata.metadata": "https://testapp.mycomp.com/$metadata#UnitDetail",
"value": [
{
"Id": 1,
"UnitId": 238905,
"Active": false,
"Name": "Rakesh",
"ContactNumber": "0070002934"
},
{
"Id": 2,
"UnitId": 238906,
"Active": true,
"Name": "Rahul",
"ContactNumber": "123444003"
},
{
"Id": 3,
"UnitId": 238907,
"Active": true,
"Name": "Rohit",
"ContactNumber": "1227032932"
}
]
}
我正试图将其反序列化到c#列表中,如下所示
var data= JsonConvert.DeserializeObject<UnitDetail[]>(json);
但这段代码并没有反序列化它
我也尝试过下面的代码,但似乎都不起作用
JavaScriptSerializer js = new JavaScriptSerializer();
UnitDetail[] serializedData= js.Deserialize<UnitDetail[]>(json);
JavaScriptSerializer js=新的JavaScriptSerializer();
UnitDetail[]serializedData=js.Deserialize(json);
下面也一样
List<UnitDetail> serializedData= js.Deserialize<List<UnitDetail>>(json);
List serializedData=js.Deserialize(json);
我真的不知道为什么它不起作用。任何帮助都是值得的
谢谢您需要一个根对象
public class UnitDetail
{
public int Id { get; set; }
public int UnitId { get; set; }
public bool Active { get; set; }
public string Name { get; set; }
public string ContactNumber { get; set; }
}
public class RootObject
{
[JsonProperty("odata.metadata")]
public string odata_metadata { get; set; }
public List<UnitDetail> value { get; set; }
}
公共类单元详细信息
{
公共int Id{get;set;}
public int UnitId{get;set;}
公共bool活动{get;set;}
公共字符串名称{get;set;}
公共字符串ContactNumber{get;set;}
}
公共类根对象
{
[JsonProperty(“odata.metadata”)]
公共字符串odata_元数据{get;set;}
公共列表值{get;set;}
}
现在可以反序列化为
var root = js.Deserialize<RootObject>(json);
var root=js.Deserialize(json);
尝试使用JsonHelper。反序列化
List<UnitDetail> data = JsonHelper.Deserialize<List<UnitDetail>>(json);
List data=JsonHelper.Deserialize(json);
List serializedData=js.Deserialize(json)中出现的错误代码>这似乎很好。请提供更多信息。“仅编码”和“尝试此”答案是错误的,因为它们不包含可搜索的内容,并且没有解释为什么有人应该“尝试此”。
List<UnitDetail> data = JsonHelper.Deserialize<List<UnitDetail>>(json);