mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-16 17:22:21 +00:00
[C#] add ObjectAPI Serialization Utility (#5785)
* [C#] add ObjectAPI Serialization Utility * set InitialBufferSize to 64k * rename SerializeToFlatBuffers to SerializeToBinary
This commit is contained in:
committed by
GitHub
parent
4749e77b0e
commit
7c37abe92d
@@ -673,6 +673,10 @@ namespace FlatBuffers.Test
|
||||
var jsonText = b.SerializeToJson();
|
||||
var d = MonsterT.DeserializeFromJson(jsonText);
|
||||
AreEqual(a, d);
|
||||
|
||||
var fbBuffer = b.SerializeToBinary();
|
||||
var e = MonsterT.DeserializeFromBinary(fbBuffer);
|
||||
AreEqual(a, e);
|
||||
}
|
||||
|
||||
private void AreEqual(ArrayTable a, ArrayTableT b)
|
||||
@@ -772,6 +776,10 @@ namespace FlatBuffers.Test
|
||||
var jsonText = b.SerializeToJson();
|
||||
var d = ArrayTableT.DeserializeFromJson(jsonText);
|
||||
AreEqual(a, d);
|
||||
|
||||
var fbBuffer = b.SerializeToBinary();
|
||||
var e = ArrayTableT.DeserializeFromBinary(fbBuffer);
|
||||
AreEqual(a, e);
|
||||
}
|
||||
|
||||
private void AreEqual(Movie a, MovieT b)
|
||||
@@ -815,6 +823,10 @@ namespace FlatBuffers.Test
|
||||
var jsonText = b.SerializeToJson();
|
||||
var d = MovieT.DeserializeFromJson(jsonText);
|
||||
AreEqual(a, d);
|
||||
|
||||
var fbBuffer = b.SerializeToBinary();
|
||||
var e = MovieT.DeserializeFromBinary(fbBuffer);
|
||||
AreEqual(a, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,14 @@ public class ArrayTableT
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
public static ArrayTableT DeserializeFromBinary(byte[] fbBuffer) {
|
||||
return ArrayTable.GetRootAsArrayTable(new ByteBuffer(fbBuffer)).UnPack();
|
||||
}
|
||||
public byte[] SerializeToBinary() {
|
||||
var fbb = new FlatBufferBuilder(0x10000);
|
||||
fbb.Finish(ArrayTable.Pack(fbb, this).Value);
|
||||
return fbb.DataBuffer.ToSizedArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -785,6 +785,14 @@ public class MonsterT
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
public static MonsterT DeserializeFromBinary(byte[] fbBuffer) {
|
||||
return Monster.GetRootAsMonster(new ByteBuffer(fbBuffer)).UnPack();
|
||||
}
|
||||
public byte[] SerializeToBinary() {
|
||||
var fbb = new FlatBufferBuilder(0x10000);
|
||||
fbb.Finish(Monster.Pack(fbb, this).Value);
|
||||
return fbb.DataBuffer.ToSizedArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -191,6 +191,14 @@ public class MonsterExtraT
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
public static MonsterExtraT DeserializeFromBinary(byte[] fbBuffer) {
|
||||
return MonsterExtra.GetRootAsMonsterExtra(new ByteBuffer(fbBuffer)).UnPack();
|
||||
}
|
||||
public byte[] SerializeToBinary() {
|
||||
var fbb = new FlatBufferBuilder(0x10000);
|
||||
fbb.Finish(MonsterExtra.Pack(fbb, this).Value);
|
||||
return fbb.DataBuffer.ToSizedArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -191,5 +191,13 @@ public class MovieT
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
public static MovieT DeserializeFromBinary(byte[] fbBuffer) {
|
||||
return Movie.GetRootAsMovie(new ByteBuffer(fbBuffer)).UnPack();
|
||||
}
|
||||
public byte[] SerializeToBinary() {
|
||||
var fbb = new FlatBufferBuilder(0x10000);
|
||||
fbb.Finish(Movie.Pack(fbb, this).Value);
|
||||
return fbb.DataBuffer.ToSizedArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user