Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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
c#无法反序列化嵌套的json字符串_C#_Json - Fatal编程技术网

c#无法反序列化嵌套的json字符串

c#无法反序列化嵌套的json字符串,c#,json,C#,Json,我正在尝试反序列化嵌套的json字符串 public class recentlySearchedAdd { public recentlySearchedAdd() { searchedLocations = new List<recentlySearchedLoc>(); } public string status { get; set; } public Li

我正在尝试反序列化嵌套的json字符串

   public class recentlySearchedAdd
    {
        public recentlySearchedAdd()
        {
            searchedLocations = new List<recentlySearchedLoc>();
        }
        public string status { get; set; }
        public List<recentlySearchedLoc> searchedLocations { get; set; }
    }

    public class recentlySearchedLoc
    {
        public int id { get; set; }
        public string location { get; set; }

    }
        //dummy json string
        string json = "{\"status\": \"OK\", \"searchedLocations\": [{\"id\": 7, \"location\": \"California\"}, {\"id\": 4, \"location\": \"90007\"}, {\"id\": 3, \"location\": \"New York, NY\"}]}";
        JavaScriptSerializer ser = new JavaScriptSerializer();
        List<recentlySearchedAdd> recentlySearchedAddList = ser.Deserialize<List<recentlySearchedAdd>>(json);
        Response.Write("count:"+recentlySearchedAddList.Count);
public类最近搜索数据
{
公共最近搜索数据()
{
searchedLocations=新列表();
}
公共字符串状态{get;set;}
公共列表搜索位置{get;set;}
}
公共类最近搜索
{
公共int id{get;set;}
公共字符串位置{get;set;}
}
下面是处理json字符串的代码

   public class recentlySearchedAdd
    {
        public recentlySearchedAdd()
        {
            searchedLocations = new List<recentlySearchedLoc>();
        }
        public string status { get; set; }
        public List<recentlySearchedLoc> searchedLocations { get; set; }
    }

    public class recentlySearchedLoc
    {
        public int id { get; set; }
        public string location { get; set; }

    }
        //dummy json string
        string json = "{\"status\": \"OK\", \"searchedLocations\": [{\"id\": 7, \"location\": \"California\"}, {\"id\": 4, \"location\": \"90007\"}, {\"id\": 3, \"location\": \"New York, NY\"}]}";
        JavaScriptSerializer ser = new JavaScriptSerializer();
        List<recentlySearchedAdd> recentlySearchedAddList = ser.Deserialize<List<recentlySearchedAdd>>(json);
        Response.Write("count:"+recentlySearchedAddList.Count);
//伪json字符串
字符串json=“{\'status\':\'OK\',\'searchedLocations\':[{\'id\':7,\'location\':\'California\',{\'id\':4,\'location\':\'90007\',{\'id\':3,\'location\':\'NewYork,NY\'}];
JavaScriptSerializer ser=新的JavaScriptSerializer();
List-recentlySearchedAddList=ser.Deserialize(json);
写入(“计数:+RecentlySearchedList.count”);

计数为0…此代码有什么问题

您很接近。序列化程序返回的是
recentlySearchedAdd
而不是它的列表

JavaScriptSerializer ser = new JavaScriptSerializer();
recentlySearchedAdd recentlySearchedAddList = ser.Deserialize<recentlySearchedAdd>(json);
Console.Write("count:" + recentlySearchedAddList.searchedLocations.Count);
JavaScriptSerializer ser=newJavaScriptSerializer();
recentlySearchedAdd recentlySearchedAddList=ser.Deserialize(json);
写入(“计数:+RecentlySearchedList.searchedLocations.count”);

你很接近了。序列化程序返回的是
recentlySearchedAdd
而不是它的列表

JavaScriptSerializer ser = new JavaScriptSerializer();
recentlySearchedAdd recentlySearchedAddList = ser.Deserialize<recentlySearchedAdd>(json);
Console.Write("count:" + recentlySearchedAddList.searchedLocations.Count);
JavaScriptSerializer ser=newJavaScriptSerializer();
recentlySearchedAdd recentlySearchedAddList=ser.Deserialize(json);
写入(“计数:+RecentlySearchedList.searchedLocations.count”);