C# 特殊列转换为json

C# 特殊列转换为json,c#,json,linq,json.net,C#,Json,Linq,Json.net,我创建的类如下所示: public class StudentRecord { [Key] public Int ID { get; set; } public String StudentName { get; set; } } 出于某种原因,我需要做些什么 list<StudentRecord> getStudentData = fnGetData(); // Get all data from SQL string jsonData = Newto

我创建的类如下所示:

public class StudentRecord
{
    [Key]
    public Int ID { get; set; }
    public String StudentName { get; set; }
}
出于某种原因,我需要做些什么

 list<StudentRecord> getStudentData = fnGetData(); // Get all data from SQL
 string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(getStudentData);
我能知道怎么做吗


谢谢

我们可以使用Linq查询从对象集合中选择所需的属性

  string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(getStudentData.Select(s=>s.StudentName).ToList());

您应该选择
StudentName
进入
列表
,然后选择
序列化对象

list<StudentRecord> getStudentData = fnGetData(); // Get all data from SQL
var studentNameList = getStudentData.Select(p => p.StudentName).ToList(); 
string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(studentNameList);

如果要忽略该列,可以添加注释
[JsonIgnore]

public class StudentRecord
{
    [Key]
    public Int ID { get; set; }

    public String StudentName { get; set; }

    [JsonIgnore]
    public String PropertyToIgnore{ get; set; }
}

在我看来,您最好将student对象投影到字符串中(可能使用LINQ的
.Select
方法),然后将其序列化。Json只是某种东西的序列化。若那个是一个学生列表,那个么就会得到一个json和一个学生列表。用一切定义一个学生。如果你想要一份名单。你应该传一张名单。谢谢。如果我想多拿一列,例如,这个班有3列,我需要拿2列,你能建议吗?谢谢。如果我想得到一个更多的列,例如,类有3列,我需要采取2列,你能建议吗?
var studentNameList = getStudentData.Select(p => new { p.StudentName, p.ID }).ToList();
public class StudentRecord
{
    [Key]
    public Int ID { get; set; }

    public String StudentName { get; set; }

    [JsonIgnore]
    public String PropertyToIgnore{ get; set; }
}