Program.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.IO;
  3. using ETModel;
  4. using MongoDB.Bson;
  5. using MongoDB.Bson.IO;
  6. using MongoDB.Bson.Serialization;
  7. namespace Example3_5
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Player player1 = new Player() { Id = 1 };
  14. string json = player1.ToJson();
  15. Console.WriteLine($"player1 to json: {json}");
  16. byte[] bson = player1.ToBson();
  17. Console.WriteLine($"player1 to bson: {bson.ToHex()}");
  18. // // player1 to json: { "_id" : NumberLong(1), "C" : [], "Account" : null, "UnitId" : NumberLong(0) }
  19. // 反序列化json
  20. Player player11 = BsonSerializer.Deserialize<Player>(json);
  21. Console.WriteLine($"player11 to json: {player11.ToJson()}");
  22. // 反序列化bson
  23. using (MemoryStream memoryStream = new MemoryStream(bson))
  24. {
  25. Player player12 = (Player) BsonSerializer.Deserialize(memoryStream, typeof (Player));
  26. Console.WriteLine($"player12 to json: {player12.ToJson()}");
  27. }
  28. // 使用标准json
  29. Console.WriteLine($"player to Strict json: {player1.ToJson(new JsonWriterSettings() {OutputMode = JsonOutputMode.Strict})}");
  30. // player1 to Strict json: { "_id" : 1, "C" : [], "Account" : null, "UnitId" : 0 }
  31. }
  32. }
  33. }