Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
反序列化json中的嵌套对象并分配给c#list_C#_List_Nested Lists_Json Deserialization - Fatal编程技术网

反序列化json中的嵌套对象并分配给c#list

反序列化json中的嵌套对象并分配给c#list,c#,list,nested-lists,json-deserialization,C#,List,Nested Lists,Json Deserialization,我有一个json,我正在阅读并试图将其转换为PackageCategory列表 [ { "PackageCategory": [ { "Size": "xxx", "Dimension": { "Height": "000.0"

我有一个json,我正在阅读并试图将其转换为PackageCategory列表

[
    {
        "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

类根目录
{
公共列表包类别;
}