C# 正在尝试转换列表<;对象>;排列

C# 正在尝试转换列表<;对象>;排列,c#,arrays,json,C#,Arrays,Json,我有一个类型为“Employee”的类对象列表,其中包含从数据库检索到的员工详细信息 所有数据都被成功地检索到列表中,但是当我尝试将列表转换为JSON数组对象时,我遇到了奇怪的错误 我使用了两种方法来实现这一点,但它们都不起作用 以下是完整的beind代码: using System.Web.Script.Serialization; using System.Web.Script.Services; using Newtonsoft.Json; 此代码返回给我一个空的JSON数组对象: [

我有一个类型为“Employee”的类对象列表,其中包含从数据库检索到的员工详细信息

所有数据都被成功地检索到列表中,但是当我尝试将列表转换为JSON数组对象时,我遇到了奇怪的错误

我使用了两种方法来实现这一点,但它们都不起作用

以下是完整的beind代码:

using System.Web.Script.Serialization;
using System.Web.Script.Services;
using Newtonsoft.Json;

此代码返回给我一个空的JSON数组对象:

[{},{},{},{},{},{},{},{},{},{},{},{},{},{}]

我也尝试过使用这个:

var string jsonOb = JsonConvert.SerializeObject(dataRows);
但当出现错误时:

我多次尝试重新安装Newtonsoft软件包,但都遇到同样的问题


有什么建议吗?

如果Newton.Json返回[{},{},{},{},{},{},{},{},{},{},{},{},{}],这意味着对象被序列化了,但它看不到任何要序列化的属性,我想是因为它们是私有的吧

默认情况下,只能序列化公共属性或字段

在@Sinatr注释之后编辑:
您还可以显式地添加到私有字段/属性以对其进行序列化(或使用自定义契约解析器)。

如果Newton.Json返回[{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{},},{,}],这意味着对象已序列化,但它看不到任何要序列化的属性,我想是因为它们是私有的吧

默认情况下,只能序列化公共属性或字段

在@Sinatr注释之后编辑:
您还可以显式添加到私有字段/属性以序列化它(或使用自定义协定解析程序)。

请提供一个。根据您收到的错误判断,这听起来好像您在某处有一个名为
JsonConvert
类型的
对象
成员。。。a肯定会有帮助。Employee类实现了可序列化的接口吗?@Genkus是的,它提供了一个。根据您得到的错误判断,这听起来好像您在某处有一个名为
JsonConvert
对象类型的成员。。。a肯定会有帮助。Employee类实现了可序列化接口吗?@Genkus是的,它实现了hanks!!。实际上是的,私有的属性,愚蠢的错误,非常感谢“只有公共属性或字段可以序列化”是错误的。您可以显式添加到私有字段/属性以序列化它(或使用自定义)。谢谢!!。实际上是的,私有的属性,愚蠢的错误,非常感谢“只有公共属性或字段可以序列化”是错误的。您可以显式添加到私有字段/属性以序列化它(或使用自定义)。
[Serializable]
public class Employee: ISerializable
{
    private string empID { get; set; }
    private string fname { get; set; }
    private string lname { get; set; }
    private string address { get; set; }
    private string phone { get; set; }
    private string deptID { get; set; }
    private string email { get; set; }

    public Employee(string empID, string fname, string lname,string address, string phone, string deptID, string email)
    {
        this.empID = empID;
        this.fname = fname;
        this.lname = lname;
        this.phone = phone;
        this.deptID = deptID;
        this.email = email;
        this.address = address;
    }
}
var string jsonOb = JsonConvert.SerializeObject(dataRows);