将 json 转换为 C# 对象列表

发布于 2025-01-04 21:43:08 字数 469 浏览 1 评论 0原文

Json 字符串:

{"movies":[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}

C# 类:

public class Movie {
  public string title { get; set; }
}

C# 将 json 转换为 c# 电影列表:

JavaScriptSerializer jss = new JavaScriptSerializer();
List<Movie> movies = jss.Deserialize<List<Movie>>(jsonString);

我的 movies 变量最终成为计数 = 0 的空列表。我错过了什么吗?

Json string:

{"movies":[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}

C# class:

public class Movie {
  public string title { get; set; }
}

C# converting json to c# list of Movie's:

JavaScriptSerializer jss = new JavaScriptSerializer();
List<Movie> movies = jss.Deserialize<List<Movie>>(jsonString);

My movies variable is ending up being an empty list with count = 0. Am I missing something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Saygoodbye 2025-01-11 21:43:09

如果你想匹配C#结构,你可以像这样改变JSON字符串:

{[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}

If you want to match the C# structure, you can change the JSON string like this:

{[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}
沉默的熊 2025-01-11 21:43:08

您的 C# 类映射与 json 结构不匹配。

解决方案:

class MovieCollection {
        public IEnumerable<Movie> movies { get; set; }
}

class Movie {
        public string title { get; set; }
}

class Program {
        static void Main(string[] args)
        {
                string jsonString = @"{""movies"":[{""id"":""1"",""title"":""Sherlock""},{""id"":""2"",""title"":""The Matrix""}]}";
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                MovieCollection collection = serializer.Deserialize<MovieCollection>(jsonString);
        }
}

Your c# class mapping doesn't match with json structure.

Solution :

class MovieCollection {
        public IEnumerable<Movie> movies { get; set; }
}

class Movie {
        public string title { get; set; }
}

class Program {
        static void Main(string[] args)
        {
                string jsonString = @"{""movies"":[{""id"":""1"",""title"":""Sherlock""},{""id"":""2"",""title"":""The Matrix""}]}";
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                MovieCollection collection = serializer.Deserialize<MovieCollection>(jsonString);
        }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文