public Users GetUserById(string _id)
{
MySqlConnection conn = new MySqlConnection(connstr);
conn.Open();
string sql = ("select * from Books where id = " + _id);
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader reader = cmd.ExecuteReader();
Users obj = new Users();
if (reader.Read())
{
obj.id = Convert.ToInt32(reader[0]);
obj.UserName = reader[1].ToString();
}
reader.Close();
conn.Close();
return obj;
}
我正在以Json格式发布信息,但
Out Put for this is:{“UserName”:“John”,“id”:1}
预期输出为:[{“UserName”:“John”,“id”:1}]
我错过了Square支撑记录 我的代码有问题吗?
答案 0 :(得分:3)
您的预期输出,即[{"UserName":"John","id":1}]
表示Users
对象的列表。
因此,如果您希望此类输出应该从您的函数返回,那么您只需要从函数中返回一个用户列表。
但是作为你的函数名GetUserById
,我认为它应该返回单个用户(所以我不知道为什么试图从这里返回一个用户数组)
但无论如何,你可以用这种方式得到预期的输出
public List<Users> GetUserById(string _id)
{
MySqlConnection conn = new MySqlConnection(connstr);
conn.Open();
string sql = ("select * from Books where id = " + _id);
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader reader = cmd.ExecuteReader();
List<Users> users=new List<Users>();
Users obj = new Users();
if (reader.Read())
{
obj.id = Convert.ToInt32(reader[0]);
obj.UserName = reader[1].ToString();
users.Add(obj);
}
reader.Close();
conn.Close();
return users;
}
现在只要这个users
转换成json格式,它就会返回预期的输出。