使用Json.NET序列化Object列表

我有一个对象模型,我正在从数据库中检索绑定数据。

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;} } 

因为有多个学生数据所以会有多个对象,所以理想情况下我应该将对象绑定到Collection,最好是LIST ,我的要求是我应该将这个对象列表传输到另一个代码(Android)。 我正在使用Newtonsoft.Json,我正在尝试将对象转换为json。 但是,如果我想将列表传递给另一个代码,我应该将整个列表转换为Json。 因此,我的返回类型应该是什么,以及如何为我的代码序列化它

 using Newtonsoft.Json; public class GetData { public List getData() { List stData = new List(); 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; } } 

你应该试试这个:

http://surajdeshpande.wordpress.com/2013/10/01/json-net-examples/

 string jsonString = JsonConvert.SerializeObject(userList); 

将JSON反序列化为对象:

 JsonConvert.DeserializeObject(jsonString); 

从数据库中完成加载后,您应该序列化List ;

 string jsonObject = JsonConvert.SerializeObject(stData); 

并从您的方法返回json字符串:

 public string getData() { // Do stuff return jsonString // this is your List serialized to json } 

另一方面,将其反序列化为JSONObject

 JSONArray studentList = new JSONArray(studentJson);