繁体   English   中英

JSON反序列化C#

[英]JSON Deserialization C#

我正在尝试解析从RottenTomatoes中检索到的JSON格式的一些信息

{
    "cast": [
        {
            "id": "162655641",
            "name": "Tom Hanks",
            "characters": [
                "Woody"
            ]
        },
        {
            "id": "162655909",
            "name": "Tim Allen",
            "characters": [
                "Buzz Lightyear"
            ]
        },
        {
            "id": "162655020",
            "name": "Joan Cusack",
            "characters": [
                "Jessie the Cowgirl"
            ]
        },
        {
            "id": "162672460",
            "name": "Ned Beatty",
            "characters": [
                "Lots-o'-Huggin' Bear",
                "Lotso"
            ]
        },
        {
            "id": "162657445",
            "name": "Richard Kind",
            "characters": [
                "Bookworm"
            ]
        },
        {
            "id": "162654813",
            "name": "Erik von Detten",
            "characters": [
                "Sid"
            ]
        },
        {
            "id": "770713272",
            "name": "James Anthony Cotton",
            "characters": []
        }
    ],
    "links": {
        "rel": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122.json"
    }
}

我只是想使此代码正常工作,但是我遇到了InvalidOperationException,并且出现此错误“数组反序列化不支持Type'System.String'”。

这是我的主要代码

string json = File.ReadAllText("json.txt");

CastInfo castMember = new JavaScriptSerializer().Deserialize<CastInfo>(json);

这是我的课

public class CastInfo
{
    public List<CustomCastInfo> cast { get; set; }
}
public class CustomCastInfo
{
    public string id { get; set; }
    public string name { get; set; }
    public List<string> characters { get; set; }

}

有意见吗? 而且我意识到我需要对底部的“链接”做一些事情,但是即使删除了,它仍然不起作用。

我只是尝试使用您提供的json来运行它,所以效果很好。

using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;

namespace JsonDeserialization
{
    class Program
    {
        static void Main(string[] args)
        {
            string json = File.ReadAllText("json.txt");

            CastInfo castMember = new JavaScriptSerializer().Deserialize<CastInfo>(json);
        }
    }

    public class CastInfo
    {
        public List<CustomCastInfo> cast { get; set; }
    }
    public class CustomCastInfo
    {
        public string id { get; set; }
        public string name { get; set; }
        public List<string> characters { get; set; }

    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM