mirror of
https://github.com/milimoe/FunGame-Testing.git
synced 2025-12-05 08:09:04 +00:00
使用JsonTool
This commit is contained in:
parent
040a5cd922
commit
1cb380895f
23
Main.cs
23
Main.cs
@ -24,12 +24,11 @@ table.Rows.Add(2, "Jane", 25);
|
|||||||
table.Rows.Add(3, "Bob", 40);
|
table.Rows.Add(3, "Bob", 40);
|
||||||
ds.Tables.Add(table);
|
ds.Tables.Add(table);
|
||||||
|
|
||||||
System.Text.Json.JsonSerializerOptions options = new()
|
JsonTool JsonTool = new();
|
||||||
{
|
JsonTool.AddConverter(new UserConverter());
|
||||||
WriteIndented = true,
|
JsonTool.AddConverter(new RoomConverter());
|
||||||
ReferenceHandler = System.Text.Json.Serialization.ReferenceHandler.IgnoreCycles,
|
JsonTool.AddConverter(new PersonConverter());
|
||||||
Converters = { new DateTimeConverter(), new DataTableConverter(), new DataSetConverter(), new UserConverter(), new RoomConverter(), new PersonConverter(), new AddressConverter() }
|
JsonTool.AddConverter(new AddressConverter());
|
||||||
};
|
|
||||||
|
|
||||||
Room r = Factory.GetRoom(1294367, "w5rtvh8".ToUpper(), DateTime.Now, Factory.GetUser(), Milimoe.FunGame.Core.Library.Constant.RoomType.Mix, Milimoe.FunGame.Core.Library.Constant.RoomState.Created);
|
Room r = Factory.GetRoom(1294367, "w5rtvh8".ToUpper(), DateTime.Now, Factory.GetUser(), Milimoe.FunGame.Core.Library.Constant.RoomType.Mix, Milimoe.FunGame.Core.Library.Constant.RoomState.Created);
|
||||||
User u = Factory.GetUser(1, "LUOLI", DateTime.Now, DateTime.Now, "LUOLI@66.COM", "QWQAQW");
|
User u = Factory.GetUser(1, "LUOLI", DateTime.Now, DateTime.Now, "LUOLI@66.COM", "QWQAQW");
|
||||||
@ -41,12 +40,12 @@ Hashtable hashtable = new()
|
|||||||
{ "user", u }
|
{ "user", u }
|
||||||
};
|
};
|
||||||
|
|
||||||
string json = NetworkUtility.JsonSerialize(hashtable, options);
|
string json = JsonTool.GetString(hashtable);
|
||||||
|
|
||||||
Hashtable hashtable2 = NetworkUtility.JsonDeserialize<Hashtable>(json, options) ?? new();
|
Hashtable hashtable2 = JsonTool.GetObject<Hashtable>(json) ?? new();
|
||||||
|
|
||||||
User u2 = NetworkUtility.JsonDeserializeFromHashtable<User>(hashtable2, "user") ?? Factory.GetUser();
|
User u2 = JsonTool.GetObject<User>(hashtable2, "user") ?? Factory.GetUser();
|
||||||
Room r2 = NetworkUtility.JsonDeserializeFromHashtable<Room>(hashtable2, "room") ?? Factory.GetRoom();
|
Room r2 = JsonTool.GetObject<Room>(hashtable2, "room") ?? Factory.GetRoom();
|
||||||
|
|
||||||
Console.WriteLine(u2.Username + " 进入了 " + r2.Roomid + " 房间");
|
Console.WriteLine(u2.Username + " 进入了 " + r2.Roomid + " 房间");
|
||||||
|
|
||||||
@ -61,8 +60,8 @@ Person p = new()
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
json = NetworkUtility.JsonSerialize(p, options);
|
json = JsonTool.GetString(p);
|
||||||
|
|
||||||
Person p2 = NetworkUtility.JsonDeserialize<Person>(json, options) ?? new();
|
Person p2 = JsonTool.GetObject<Person>(json) ?? new();
|
||||||
|
|
||||||
Console.WriteLine("My name is " + p2.Name + ", I am " + p2.Age + "-year-old. I live at " + p2.Address.State + " " + p2.Address.City);
|
Console.WriteLine("My name is " + p2.Name + ", I am " + p2.Age + "-year-old. I live at " + p2.Address.State + " " + p2.Address.City);
|
||||||
Loading…
x
Reference in New Issue
Block a user