2 回答
TA贡献1858条经验 获得超8个赞
为了实现您的目标,您应该创建一个类来保存您从数据库中检索到的数据。在我的例子中,我调用了它GameObject,它的定义如下。
public class GameObject
{
public int Id { get; set; }
public string Uid { get; set; }
public int Bet { get; set; }
public string Game { get; set; }
}
从数据库中检索信息后,您需要运行类似于以下的代码。
var items = new List<GameObject>();
while (reader.Read())
{
items.Add(new GameObject
{
Id = (int)reader["id"],
Uid = (string)reader["uid"],
Bet = (int)reader["bet"],
Game = (string)reader["game"]
});
}
// Return the jsonPacket which will contain all the items in json format.
var jsonPacket = JsonConvert.SerializeObject(items);
为了使其正常工作,您需要从 nuget 中引用 Newtonsoft.Json 库。打开你的包管理器控制台并输入以下命令:Install-Package Newtonsoft.Json它会为你设置它。在我们代码的顶部,您需要using Newtonsoft.Json;能够使用库中的类来序列化为 Json。在接收端,您可以将字符串传递给JsonConvert.DeserializeObject<T>(),您将取回对象列表。
TA贡献1842条经验 获得超21个赞
您可以使用objects 和匿名类型的列表。还有一个 JSON 序列化程序,System.Web.Script.Serialization.JavaScriptSerializer如果您将System.Web.Extensions程序集添加到您的引用中,则包含该序列化程序。
List<object> list = new List<object>();
while (reader.Read()) {
list.Add(new { id = (int)reader["id"],
uid = (string)reader["uid"],
bet = (int)reader["bet"],
game = (string)reader["game"], });
}
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(list);
- 2 回答
- 0 关注
- 138 浏览
添加回答
举报