private object GetObject(JsonReader reader /*, Type objectType*/) { if (RecursionLimit > 0 && reader.CurrentRecursionLevel >= RecursionLimit) { throw new ArgumentException("RecursionLimit exceeded."); } object value; switch (reader.TokenType) { // populate a typed object or generic dictionary/array // depending upon whether an objectType was supplied case JsonToken.StartObject: //value = PopulateObject(reader/*, objectType*/); value = new DeserializerLazyDictionary(reader, this); break; case JsonToken.StartArray: value = PopulateList(reader /*, objectType*/); break; case JsonToken.Integer: case JsonToken.Float: case JsonToken.String: case JsonToken.Boolean: case JsonToken.Date: //value = EnsureType(reader.Value, objectType); value = reader.Value; break; case JsonToken.Constructor: value = reader.Value.ToString(); break; case JsonToken.Null: case JsonToken.Undefined: value = null; break; default: throw new JsonSerializationException("Unexpected token whil deserializing object: " + reader.TokenType); } return(value); }
private object GetObject(JsonReader reader/*, Type objectType*/) { if (RecursionLimit > 0 && reader.CurrentRecursionLevel >= RecursionLimit) { throw new ArgumentException ("RecursionLimit exceeded."); } object value; switch (reader.TokenType) { // populate a typed object or generic dictionary/array // depending upon whether an objectType was supplied case JsonToken.StartObject: //value = PopulateObject(reader/*, objectType*/); value = new DeserializerLazyDictionary (reader, this); break; case JsonToken.StartArray: value = PopulateList (reader/*, objectType*/); break; case JsonToken.Integer: case JsonToken.Float: case JsonToken.String: case JsonToken.Boolean: case JsonToken.Date: //value = EnsureType(reader.Value, objectType); value = reader.Value; break; case JsonToken.Constructor: value = reader.Value.ToString (); break; case JsonToken.Null: case JsonToken.Undefined: value = null; break; default: throw new JsonSerializationException ("Unexpected token whil deserializing object: " + reader.TokenType); } return value; }