internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull(reader, "reader"); // set serialization options onto reader CultureInfo previousCulture; DateTimeZoneHandling?previousDateTimeZoneHandling; DateParseHandling? previousDateParseHandling; FloatParseHandling? previousFloatParseHandling; int? previousMaxDepth; string previousDateFormatString; SetupReader(reader, out previousCulture, out previousDateTimeZoneHandling, out previousDateParseHandling, out previousFloatParseHandling, out previousMaxDepth, out previousDateFormatString); TraceJsonReader traceJsonReader = (TraceWriter != null && TraceWriter.LevelFilter >= TraceLevel.Verbose) ? new TraceJsonReader(reader) : null; JsonSerializerInternalReader serializerReader = new JsonSerializerInternalReader(this); object value = serializerReader.Deserialize(traceJsonReader ?? reader, objectType, CheckAdditionalContent); if (traceJsonReader != null) { TraceWriter.Trace(TraceLevel.Verbose, "Deserialized JSON: " + Environment.NewLine + traceJsonReader.GetJson(), null); } ResetReader(reader, previousCulture, previousDateTimeZoneHandling, previousDateParseHandling, previousFloatParseHandling, previousMaxDepth, previousDateFormatString); return(value); }
internal virtual void PopulateInternal(JsonReader reader, object target) { ValidationUtils.ArgumentNotNull(reader, nameof(reader)); ValidationUtils.ArgumentNotNull(target, nameof(target)); // set serialization options onto reader CultureInfo previousCulture; DateTimeZoneHandling?previousDateTimeZoneHandling; DateParseHandling? previousDateParseHandling; FloatParseHandling? previousFloatParseHandling; int? previousMaxDepth; string previousDateFormatString; SetupReader(reader, out previousCulture, out previousDateTimeZoneHandling, out previousDateParseHandling, out previousFloatParseHandling, out previousMaxDepth, out previousDateFormatString); TraceJsonReader traceJsonReader = (TraceWriter != null && TraceWriter.LevelFilter >= TraceLevel.Verbose) ? new TraceJsonReader(reader) : null; JsonSerializerInternalReader serializerReader = new JsonSerializerInternalReader(this); serializerReader.Populate(traceJsonReader ?? reader, target); if (traceJsonReader != null) { TraceWriter.Trace(TraceLevel.Verbose, traceJsonReader.GetDeserializedJsonMessage(), null); } ResetReader(reader, previousCulture, previousDateTimeZoneHandling, previousDateParseHandling, previousFloatParseHandling, previousMaxDepth, previousDateFormatString); }
private TraceJsonReader CreateTraceJsonReader(JsonReader reader) { TraceJsonReader traceJsonReader = new TraceJsonReader(reader); if (reader.TokenType != JsonToken.None) { traceJsonReader.WriteCurrentToken(); } return(traceJsonReader); }
internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull(reader, "reader"); this.SetupReader(reader, out CultureInfo info, out Newtonsoft.Json.DateTimeZoneHandling? nullable, out Newtonsoft.Json.DateParseHandling? nullable2, out Newtonsoft.Json.FloatParseHandling? nullable3, out int?nullable4, out string str); TraceJsonReader reader2 = ((this.TraceWriter != null) && (this.TraceWriter.LevelFilter >= TraceLevel.Verbose)) ? new TraceJsonReader(reader) : null; if (reader2 == null) { } if (reader2 != null) { this.TraceWriter.Trace(TraceLevel.Verbose, reader2.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, info, nullable, nullable2, nullable3, nullable4, str); return(new JsonSerializerInternalReader(this).Deserialize(reader, objectType, this.CheckAdditionalContent)); }
internal virtual void PopulateInternal(JsonReader reader, object target) { ValidationUtils.ArgumentNotNull(reader, "reader"); ValidationUtils.ArgumentNotNull(target, "target"); this.SetupReader(reader, out CultureInfo info, out Newtonsoft.Json.DateTimeZoneHandling? nullable, out Newtonsoft.Json.DateParseHandling? nullable2, out Newtonsoft.Json.FloatParseHandling? nullable3, out int?nullable4, out string str); TraceJsonReader reader2 = ((this.TraceWriter != null) && (this.TraceWriter.LevelFilter >= TraceLevel.Verbose)) ? new TraceJsonReader(reader) : null; if (reader2 == null) { } new JsonSerializerInternalReader(this).Populate(reader, target); if (reader2 != null) { this.TraceWriter.Trace(TraceLevel.Verbose, reader2.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, info, nullable, nullable2, nullable3, nullable4, str); }
internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull((object)reader, nameof(reader)); CultureInfo previousCulture; DateTimeZoneHandling?previousDateTimeZoneHandling; DateParseHandling? previousDateParseHandling; FloatParseHandling? previousFloatParseHandling; int? previousMaxDepth; string previousDateFormatString; this.SetupReader(reader, out previousCulture, out previousDateTimeZoneHandling, out previousDateParseHandling, out previousFloatParseHandling, out previousMaxDepth, out previousDateFormatString); TraceJsonReader traceJsonReader = this.TraceWriter == null || this.TraceWriter.LevelFilter < TraceLevel.Verbose ? (TraceJsonReader)null : new TraceJsonReader(reader); object obj = new JsonSerializerInternalReader(this).Deserialize((JsonReader)traceJsonReader ?? reader, objectType, this.CheckAdditionalContent); if (traceJsonReader != null) { this.TraceWriter.Trace_(TraceLevel.Verbose, traceJsonReader.GetDeserializedJsonMessage(), (Exception)null); } this.ResetReader(reader, previousCulture, previousDateTimeZoneHandling, previousDateParseHandling, previousFloatParseHandling, previousMaxDepth, previousDateFormatString); return(obj); }
internal virtual object DeserializeInternal([Nullable(1)] JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull(reader, "reader"); CultureInfo previousCulture; DateTimeZoneHandling?previousDateTimeZoneHandling; DateParseHandling? previousDateParseHandling; FloatParseHandling? previousFloatParseHandling; int? previousMaxDepth; string previousDateFormatString; this.SetupReader(reader, out previousCulture, out previousDateTimeZoneHandling, out previousDateParseHandling, out previousFloatParseHandling, out previousMaxDepth, out previousDateFormatString); TraceJsonReader traceJsonReader = (this.TraceWriter != null && this.TraceWriter.LevelFilter >= TraceLevel.Verbose) ? this.CreateTraceJsonReader(reader) : null; object result = new JsonSerializerInternalReader(this).Deserialize(traceJsonReader ?? reader, objectType, this.CheckAdditionalContent); if (traceJsonReader != null) { this.TraceWriter.Trace(TraceLevel.Verbose, traceJsonReader.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, previousCulture, previousDateTimeZoneHandling, previousDateParseHandling, previousFloatParseHandling, previousMaxDepth, previousDateFormatString); return(result); }
// Token: 0x06000B1C RID: 2844 RVA: 0x00041388 File Offset: 0x0003F588 internal virtual void PopulateInternal(JsonReader reader, object target) { ValidationUtils.ArgumentNotNull(reader, "reader"); ValidationUtils.ArgumentNotNull(target, "target"); CultureInfo previousCulture; DateTimeZoneHandling?previousDateTimeZoneHandling; DateParseHandling? previousDateParseHandling; FloatParseHandling? previousFloatParseHandling; int? previousMaxDepth; string previousDateFormatString; this.SetupReader(reader, out previousCulture, out previousDateTimeZoneHandling, out previousDateParseHandling, out previousFloatParseHandling, out previousMaxDepth, out previousDateFormatString); TraceJsonReader traceJsonReader = (this.TraceWriter != null && this.TraceWriter.LevelFilter >= TraceLevel.Verbose) ? this.CreateTraceJsonReader(reader) : null; new JsonSerializerInternalReader(this).Populate(traceJsonReader ?? reader, target); if (traceJsonReader != null) { this.TraceWriter.Trace(TraceLevel.Verbose, traceJsonReader.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, previousCulture, previousDateTimeZoneHandling, previousDateParseHandling, previousFloatParseHandling, previousMaxDepth, previousDateFormatString); }
internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { CultureInfo cultureInfo; Newtonsoft.Json.DateTimeZoneHandling?nullable; Newtonsoft.Json.DateParseHandling? nullable1; Newtonsoft.Json.FloatParseHandling? nullable2; int? nullable3; string str; TraceJsonReader traceJsonReader; ValidationUtils.ArgumentNotNull(reader, "reader"); this.SetupReader(reader, out cultureInfo, out nullable, out nullable1, out nullable2, out nullable3, out str); if (this.TraceWriter == null || this.TraceWriter.LevelFilter < TraceLevel.Verbose) { traceJsonReader = null; } else { traceJsonReader = new TraceJsonReader(reader); } TraceJsonReader traceJsonReader1 = traceJsonReader; JsonSerializerInternalReader jsonSerializerInternalReader = new JsonSerializerInternalReader(this); JsonReader jsonReader = traceJsonReader1; if (jsonReader == null) { jsonReader = reader; } object obj = jsonSerializerInternalReader.Deserialize(jsonReader, objectType, this.CheckAdditionalContent); if (traceJsonReader1 != null) { this.TraceWriter.Trace(TraceLevel.Verbose, traceJsonReader1.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, cultureInfo, nullable, nullable1, nullable2, nullable3, str); return(obj); }
internal virtual void PopulateInternal(JsonReader reader, object target) { CultureInfo cultureInfo; Newtonsoft.Json.DateTimeZoneHandling?nullable; Newtonsoft.Json.DateParseHandling? nullable1; Newtonsoft.Json.FloatParseHandling? nullable2; int? nullable3; string str; TraceJsonReader traceJsonReader; ValidationUtils.ArgumentNotNull(reader, "reader"); ValidationUtils.ArgumentNotNull(target, "target"); this.SetupReader(reader, out cultureInfo, out nullable, out nullable1, out nullable2, out nullable3, out str); if (this.TraceWriter == null || this.TraceWriter.LevelFilter < TraceLevel.Verbose) { traceJsonReader = null; } else { traceJsonReader = this.CreateTraceJsonReader(reader); } TraceJsonReader traceJsonReader1 = traceJsonReader; JsonSerializerInternalReader jsonSerializerInternalReader = new JsonSerializerInternalReader(this); JsonReader jsonReader = traceJsonReader1; if (jsonReader == null) { jsonReader = reader; } jsonSerializerInternalReader.Populate(jsonReader, target); if (traceJsonReader1 != null) { this.TraceWriter.Trace(TraceLevel.Verbose, traceJsonReader1.GetDeserializedJsonMessage(), null); } this.ResetReader(reader, cultureInfo, nullable, nullable1, nullable2, nullable3, str); }
internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull(reader, "reader"); // set serialization options onto reader CultureInfo previousCulture = null; if (_culture != null && !_culture.Equals(reader.Culture)) { previousCulture = reader.Culture; reader.Culture = _culture; } DateTimeZoneHandling?previousDateTimeZoneHandling = null; if (_dateTimeZoneHandling != null && reader.DateTimeZoneHandling != _dateTimeZoneHandling) { previousDateTimeZoneHandling = reader.DateTimeZoneHandling; reader.DateTimeZoneHandling = _dateTimeZoneHandling.Value; } DateParseHandling?previousDateParseHandling = null; if (_dateParseHandling != null && reader.DateParseHandling != _dateParseHandling) { previousDateParseHandling = reader.DateParseHandling; reader.DateParseHandling = _dateParseHandling.Value; } FloatParseHandling?previousFloatParseHandling = null; if (_floatParseHandling != null && reader.FloatParseHandling != _floatParseHandling) { previousFloatParseHandling = reader.FloatParseHandling; reader.FloatParseHandling = _floatParseHandling.Value; } int?previousMaxDepth = null; if (_maxDepthSet && reader.MaxDepth != _maxDepth) { previousMaxDepth = reader.MaxDepth; reader.MaxDepth = _maxDepth; } TraceJsonReader traceJsonReader = (TraceWriter != null && TraceWriter.LevelFilter >= TraceLevel.Verbose) ? new TraceJsonReader(reader) : null; JsonSerializerInternalReader serializerReader = new JsonSerializerInternalReader(this); object value = serializerReader.Deserialize(traceJsonReader ?? reader, objectType, CheckAdditionalContent); if (traceJsonReader != null) { TraceWriter.Trace(TraceLevel.Verbose, "Deserialized JSON: " + Environment.NewLine + traceJsonReader.GetJson(), null); } // reset reader back to previous options if (previousCulture != null) { reader.Culture = previousCulture; } if (previousDateTimeZoneHandling != null) { reader.DateTimeZoneHandling = previousDateTimeZoneHandling.Value; } if (previousDateParseHandling != null) { reader.DateParseHandling = previousDateParseHandling.Value; } if (previousFloatParseHandling != null) { reader.FloatParseHandling = previousFloatParseHandling.Value; } if (_maxDepthSet) { reader.MaxDepth = previousMaxDepth; } return(value); }
public void TraceJsonReaderTest() { string json = @"{ ""Array"": [ ""String!"", ""2000-12-12T12:12:12Z"", ""2000-12-12T12:12:12Z"", ""2000-12-12T12:12:12+00:00"", ""U3RyaW5nIQ=="", 1, 1.1, 9999999990000000000000000000000000000000000, null, undefined, new ctor( 1 ) /*A comment*/ ] }"; StringReader sw = new StringReader(json); JsonTextReader w = new JsonTextReader(sw); TraceJsonReader traceReader = new TraceJsonReader(w); traceReader.Read(); Assert.AreEqual(JsonToken.StartObject, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.PropertyName, traceReader.TokenType); Assert.AreEqual("Array", traceReader.Value); traceReader.Read(); Assert.AreEqual(JsonToken.StartArray, traceReader.TokenType); Assert.AreEqual(null, traceReader.Value); traceReader.ReadAsString(); Assert.AreEqual(JsonToken.String, traceReader.TokenType); Assert.AreEqual('"', traceReader.QuoteChar); Assert.AreEqual("String!", traceReader.Value); // for great code coverage justice! traceReader.QuoteChar = '\''; Assert.AreEqual('\'', traceReader.QuoteChar); traceReader.ReadAsString(); Assert.AreEqual(JsonToken.String, traceReader.TokenType); Assert.AreEqual("2000-12-12T12:12:12Z", traceReader.Value); traceReader.ReadAsDateTime(); Assert.AreEqual(JsonToken.Date, traceReader.TokenType); Assert.AreEqual(new DateTime(2000, 12, 12, 12, 12, 12, DateTimeKind.Utc), traceReader.Value); traceReader.ReadAsDateTimeOffset(); Assert.AreEqual(JsonToken.Date, traceReader.TokenType); Assert.AreEqual(new DateTimeOffset(2000, 12, 12, 12, 12, 12, TimeSpan.Zero), traceReader.Value); traceReader.ReadAsBytes(); Assert.AreEqual(JsonToken.Bytes, traceReader.TokenType); CollectionAssert.AreEqual(Encoding.UTF8.GetBytes("String!"), (byte[])traceReader.Value); traceReader.ReadAsInt32(); Assert.AreEqual(JsonToken.Integer, traceReader.TokenType); Assert.AreEqual(1, traceReader.Value); traceReader.ReadAsDecimal(); Assert.AreEqual(JsonToken.Float, traceReader.TokenType); Assert.AreEqual(1.1m, traceReader.Value); traceReader.Read(); Assert.AreEqual(JsonToken.Integer, traceReader.TokenType); Assert.AreEqual(typeof(BigInteger), traceReader.ValueType); Assert.AreEqual(BigInteger.Parse("9999999990000000000000000000000000000000000"), traceReader.Value); traceReader.Read(); Assert.AreEqual(JsonToken.Null, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.Undefined, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.StartConstructor, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.Integer, traceReader.TokenType); Assert.AreEqual(1L, traceReader.Value); traceReader.Read(); Assert.AreEqual(JsonToken.EndConstructor, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.Comment, traceReader.TokenType); Assert.AreEqual("A comment", traceReader.Value); traceReader.Read(); Assert.AreEqual(JsonToken.EndArray, traceReader.TokenType); traceReader.Read(); Assert.AreEqual(JsonToken.EndObject, traceReader.TokenType); Assert.IsFalse(traceReader.Read()); traceReader.Close(); Console.WriteLine(traceReader.GetJson()); Assert.AreEqual(json, traceReader.GetJson()); }
internal virtual object DeserializeInternal(JsonReader reader, Type objectType) { ValidationUtils.ArgumentNotNull(reader, "reader"); CultureInfo cultureInfo = null; if (this._culture != null && !this._culture.Equals(reader.Culture)) { cultureInfo = reader.Culture; reader.Culture = this._culture; } DateTimeZoneHandling?dateTimeZoneHandling = null; if (this._dateTimeZoneHandling.HasValue && reader.DateTimeZoneHandling != this._dateTimeZoneHandling) { dateTimeZoneHandling = new DateTimeZoneHandling?(reader.DateTimeZoneHandling); reader.DateTimeZoneHandling = this._dateTimeZoneHandling.Value; } DateParseHandling?dateParseHandling = null; if (this._dateParseHandling.HasValue && reader.DateParseHandling != this._dateParseHandling) { dateParseHandling = new DateParseHandling?(reader.DateParseHandling); reader.DateParseHandling = this._dateParseHandling.Value; } FloatParseHandling?floatParseHandling = null; if (this._floatParseHandling.HasValue && reader.FloatParseHandling != this._floatParseHandling) { floatParseHandling = new FloatParseHandling?(reader.FloatParseHandling); reader.FloatParseHandling = this._floatParseHandling.Value; } int?maxDepth = null; if (this._maxDepthSet && reader.MaxDepth != this._maxDepth) { maxDepth = reader.MaxDepth; reader.MaxDepth = this._maxDepth; } TraceJsonReader traceJsonReader = (this.TraceWriter != null && this.TraceWriter.LevelFilter >= TraceLevel.Verbose) ? new TraceJsonReader(reader) : null; JsonSerializerInternalReader jsonSerializerInternalReader = new JsonSerializerInternalReader(this); object result = jsonSerializerInternalReader.Deserialize(traceJsonReader ?? reader, objectType, this.CheckAdditionalContent); if (traceJsonReader != null) { this.TraceWriter.Trace(TraceLevel.Verbose, "Deserialized JSON: " + Environment.NewLine + traceJsonReader.GetJson(), null); } if (cultureInfo != null) { reader.Culture = cultureInfo; } if (dateTimeZoneHandling.HasValue) { reader.DateTimeZoneHandling = dateTimeZoneHandling.Value; } if (dateParseHandling.HasValue) { reader.DateParseHandling = dateParseHandling.Value; } if (floatParseHandling.HasValue) { reader.FloatParseHandling = floatParseHandling.Value; } if (this._maxDepthSet) { reader.MaxDepth = maxDepth; } return(result); }