【发布时间】:2021-09-13 11:42:01
【问题描述】:
我有一个对象模型,如下所示,我将从数据库中检索的数据绑定到该对象模型。
public class Student
{
public virtual string serialNumber
{ set; get;}
public virtual string studentFname
{ set; get;}
public virtual string studentLname
{ set; get;}
public virtual string studentAge
{ set; get;}
}
会有多个对象,因为有多个学生数据,所以理想情况下我应该将对象绑定到一个集合,最好是一个 LIST,我的要求是我应该将此对象列表传输到另一个代码(Android)。我正在使用 Newtonsoft.Json 并试图将对象转换为 json。但是如果我想将列表传递给另一个代码,我应该将整个列表转换为 Json。因此,我的返回类型应该是什么以及如何为下面的代码序列化它
using Newtonsoft.Json;
public class GetData
{
public List<Student> getData()
{
List<Student> stData = new List<Student>();
Student st = new Student();
string con = "Data Source=MK-001/PC; Initial Catalog=Inventory; Persist Security Info=True; User ID=sa; Password=sqlserver;";
using (SqlConnection myConnection = new SqlConnection(con))
{
string query = "Select * from StudentData";
SqlCommand Cmd = new SqlCommand(query, myConnection);
myConnection.Open();
using (SqlDataReader reader = Cmd.ExecuteReader())
{
while (reader.Read())
{
st.serialNumber = reader["Serial Number"].ToString();
st.studentFname = reader["Student Fname"].ToString();
st.studentLname = reader["Student Lname"].ToString();
st.studentAge = reader["Student Age"].ToString();
//Is this the correct way??
var jsonObject = JsonConvert.SerializeObject(set);
stData.Add(jsonObject);
}
myConnection.Close();
}
}
//Im returning a list here. How to bind this to a json and what should be return type as per the change made?
return stData;
}
}
【问题讨论】:
-
返回类型应为字符串,接收方可以将其构造回 Json 对象或填充为 List
-
so 而不是 var jsonObject = JsonConvert.SerializeObject(set);我应该将其设为字符串 jsonObject =JsonConvert.SerializeObject(set)?
-
即使我将对象值转换为字符串,我如何处理对象列表?
-
问题不清楚——你检查过我给你的链接吗?