c# - 无法将 Json 字符串反序列化为包含对象数组的对象

标签 c# json web-services javascriptserializer

我有一个从 Web 服务调用返回的 JSON 对象,如下所示:

{"responseData":{"results":[{
    "mothraId":null,
    "studentId":null,
    "bannerPIdM":null,
    "externalId":null,
    "dFirstName":null,
    "dFullName":null,
    "dLastName":null,
    "dMiddleName":null,
    "modifyDate":"2012-02-24 06:24:33",
    "oFirstName":"Joe",
    "oFullName":"Joe R Smith",
    "oLastName":"Smith",
    "oMiddleName":"R",
    "iamId":"999999999",
    "ppsId":"999999999",
    "oSuffix":null,
    "dSuffix":null,
    "isEmployee":null,
    "isHSEmployee":null,
    "isFaculty":"N",
    "isStudent":"N",
    "isStaff":"N",
    "isExternal":"N",
    "privacyCode":null}]},
"responseStatus":0,
"responseDetails":""}

我正在尝试使用以下方法将 JSON 字符串反序列化为一个对象:

ReturnObject allInOne = js.Deserialize<ReturnObject>(jsonResponse);

ReturnObject 定义如下:

public class ReturnObject
{
    public String responseDetails { get; set; }
    public String responseCode { get; set; }
    public ResponseData responseData { get; set; }

    public class ResponseData
    {
        public List<PeopleResult> results { get; set; }

        public class PeopleResult{

            String iamId { get; set; }
            String mothraId { get; set; }
            String ppsId { get; set; }
            String studentId { get; set; }
            String bannerPIdM { get; set; }
            String externalId { get; set; }
            String oFirstName { get; set; }
            String oMiddleName { get; set; }
            String oLastName { get; set; }
            String oFullName { get; set; }
            String oSuffix { get; set; }
            String dFirstName { get; set; }
            String dMiddleName { get; set; }
            String dLastName { get; set; }
            String dSuffix { get; set; }
            String dFullName { get; set; }
            String isEmployee { get; set; }
            String isHSEmployee { get; set; }
            String isFaculty { get; set; }
            String isStudent { get; set; }
            String isStaff { get; set; }
            String isExternal { get; set; }
            String privacyCode { get; set; }
            String modifyDate { get; set; }
        }
    }

不幸的是,除了列表结果中各个 PeopleResult 对象的内容外,我得到了所有内容。 PeopleResult 中所有属性的值为空。我的 ReturnObject 类的结构或命名是否有问题?

最佳答案

PeopleResult 类中的所有属性都不是公共(public)的。

关于c# - 无法将 Json 字符串反序列化为包含对象数组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036911/

相关文章:

c# - 类、结构或接口(interface)成员声明中的无效标记 'return'

c# - 在 C# 中使用 PowerShell 导入 CSV 添加列

json - Jenkins 管道 NotSerializableException : groovy. json.internal.LazyMap

mysql - Sequelize 获取 MySql 存储过程数据作为数组?

javascript - ExtJS Tabpanel 和 JSON 数据未加载?

用于小型 Web 服务的 PHP 与 C CGI

c# - 使用文本框向 DataGridView 添加新行

C# 进行并发 HTTP 调用

c# - 通过.net使用java web服务-数据不一致

Silverlight 网络服务调用在 Studio 中工作,但从网站运行时失败