public virtual T Materialize <T>() { Cosmos.Json.IJsonReader cosmosJsonReader = this.CreateReader(); Newtonsoft.Json.JsonReader newtonsoftReader = new CosmosDBToNewtonsoftReader(cosmosJsonReader); return(DefaultSerializer.Deserialize <T>(newtonsoftReader)); }
public void JsonConvert_DeserializeObject_Binary() { Newtonsoft.Json.JsonSerializer jsonSerializer = Newtonsoft.Json.JsonSerializer.CreateDefault(); CosmosDBToNewtonsoftReader cosmosDBToNewtonsoftReader = new CosmosDBToNewtonsoftReader(this.binaryBuffer); _ = jsonSerializer.Deserialize <IReadOnlyList <Person> >(cosmosDBToNewtonsoftReader); }
public void RunBenchmark(PocoSerializationFormat serializationFormat) { Newtonsoft.Json.JsonReader reader; switch (serializationFormat) { case PocoSerializationFormat.Text: reader = new CosmosDBToNewtonsoftReader( Cosmos.Json.JsonReader.Create( this.peoplePayload.Text)); break; case PocoSerializationFormat.NewtonsoftText: if (!MemoryMarshal.TryGetArray(this.peoplePayload.Text, out ArraySegment <byte> segment)) { throw new InvalidOperationException("Failed to get segment"); } reader = new Newtonsoft.Json.JsonTextReader( new StreamReader( new MemoryStream(segment.Array, index: segment.Offset, count: segment.Count))); break; case PocoSerializationFormat.Binary: reader = new CosmosDBToNewtonsoftReader( Cosmos.Json.JsonReader.Create( this.peoplePayload.Binary)); break; default: throw new ArgumentOutOfRangeException(serializationFormat.ToString()); } Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer(); _ = serializer.Deserialize <List <Person> >(reader); }
private static void VerifyReader <T>(ReadOnlyMemory <byte> payload, T expectedDeserializedValue) { using (CosmosDBToNewtonsoftReader reader = new CosmosDBToNewtonsoftReader(payload)) { JsonSerializer serializer = new JsonSerializer(); T actualDeserializedValue = serializer.Deserialize <T>(reader); string expected = JsonConvert.SerializeObject(expectedDeserializedValue, jsonSerializerSettings); string actual = JsonConvert.SerializeObject(actualDeserializedValue, jsonSerializerSettings); Assert.AreEqual(expected, actual); } }