反序列化json中的嵌套对象并分配给c#list
我有一个json,我正在阅读并试图将其转换为PackageCategory列表反序列化json中的嵌套对象并分配给c#list,c#,list,nested-lists,json-deserialization,C#,List,Nested Lists,Json Deserialization,我有一个json,我正在阅读并试图将其转换为PackageCategory列表 [ { "PackageCategory": [ { "Size": "xxx", "Dimension": { "Height": "000.0"
[
{
"PackageCategory": [
{
"Size": "xxx",
"Dimension": {
"Height": "000.0",
"Length": "1200.0",
"Breadth": "3300.0"
},
"Cost": "10.0m"
},
{
"Size": "yyy",
"Dimension": {
"Height": "1200.0",
"Length": "1400.0",
"Breadth": "5500.0"
},
"Cost": "790.5m"
},
{
"Size": "zzz",
"Dimension": {
"Height": "2550.0",
"Length": "4030.0",
"Breadth": "1600.0"
},
"Cost": "8.5m"
}
]
}
]
我想将其反序列化为C#list对象列表
public class PackageCategory
{
public string Size { get; set; }
public PackageSize Dimension { get; set; }
public decimal Cost { get; set; }
}
public class PackageSize
{
public double Height { get; }
public double Length { get; }
public double Breadth { get; }
}
我正在使用下面的代码,但得到列表对象listObjects的空值
using (StreamReader r = new StreamReader(@"\ListOfPackageCategory.json"))
{
string json = r.ReadToEnd();
var listObjects = JsonConvert.DeserializeObject<List<packageCategory>>(json)
}
使用(StreamReader r=newstreamreader(@“\ListOfPackageCategory.json”))
{
字符串json=r.ReadToEnd();
var listObjects=JsonConvert.DeserializeObject(json)
}
也试过了
JavaScriptSerializer ser = new JavaScriptSerializer();
var listObjects = ser.Deserialize<List<PackageCategory>>(json);
JavaScriptSerializer ser=newJavaScriptSerializer();
var listObjects=ser.Deserialize(json);
这也没用
请帮助查找解决方案您需要一个
根对象来反序列化:
JsonConvert.DeserializeObject
:
类根目录
{
公共列表包类别;
}