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格式的信息,但是
将是:{"用户名":"约翰","id":1}
预计将是:[{"用户名":"约翰","id":1}]
我缺少记录的方括号我的代码有什么问题?
您期望的输出,即[{"UserName":"John","id":1}]
表示Users
对象的List。
所以如果你想从你的函数返回这样的输出,那么你只需要从你的函数返回一个用户列表。
但是作为你的函数名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格式时,它将返回预期的输出。