Пример #1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            Type type = Class194.smethod_10(objectType) ? Nullable.GetUnderlyingType(objectType) : objectType;

            if (reader.JsonToken_0 == JsonToken.Null)
            {
                if (!Class194.smethod_9(objectType))
                {
                    throw JsonSerializationException.smethod_1(reader, "Cannot convert null value to {0}.".smethod_0(CultureInfo.InvariantCulture, objectType));
                }
                return(null);
            }
            if ((reader.JsonToken_0 != JsonToken.StartConstructor) || !string.Equals(reader.Object_0.ToString(), "Date", StringComparison.Ordinal))
            {
                throw JsonSerializationException.smethod_1(reader, "Unexpected token or value when parsing date. Token: {0}, Value: {1}".smethod_1(CultureInfo.InvariantCulture, reader.JsonToken_0, reader.Object_0));
            }
            reader.Read();
            if (reader.JsonToken_0 != JsonToken.Integer)
            {
                throw JsonSerializationException.smethod_1(reader, "Unexpected token parsing date. Expected Integer, got {0}.".smethod_0(CultureInfo.InvariantCulture, reader.JsonToken_0));
            }
            long     num      = (long)reader.Object_0;
            DateTime dateTime = Class184.smethod_11(num);

            reader.Read();
            if (reader.JsonToken_0 != JsonToken.EndConstructor)
            {
                throw JsonSerializationException.smethod_1(reader, "Unexpected token parsing date. Expected EndConstructor, got {0}.".smethod_0(CultureInfo.InvariantCulture, reader.JsonToken_0));
            }
            if (!(type == typeof(DateTimeOffset)))
            {
                return(dateTime);
            }
            return(new DateTimeOffset(dateTime));
        }
Пример #2
0
 private string method_9(JsonReader jsonReader_0)
 {
     if (jsonReader_0.JsonToken_0 == JsonToken.String)
     {
         return(jsonReader_0.Object_0.ToString());
     }
     if (jsonReader_0.JsonToken_0 == JsonToken.Integer)
     {
         return(XmlConvert.ToString(Convert.ToInt64(jsonReader_0.Object_0, CultureInfo.InvariantCulture)));
     }
     if (jsonReader_0.JsonToken_0 == JsonToken.Float)
     {
         return(XmlConvert.ToString(Convert.ToDouble(jsonReader_0.Object_0, CultureInfo.InvariantCulture)));
     }
     if (jsonReader_0.JsonToken_0 == JsonToken.Boolean)
     {
         return(XmlConvert.ToString(Convert.ToBoolean(jsonReader_0.Object_0, CultureInfo.InvariantCulture)));
     }
     if (jsonReader_0.JsonToken_0 == JsonToken.Date)
     {
         DateTime time = Convert.ToDateTime(jsonReader_0.Object_0, CultureInfo.InvariantCulture);
         return(XmlConvert.ToString(time, Class184.smethod_1(time.Kind)));
     }
     if (jsonReader_0.JsonToken_0 != JsonToken.Null)
     {
         throw JsonSerializationException.smethod_1(jsonReader_0, "Cannot get an XML string value from token type '{0}'.".smethod_0(CultureInfo.InvariantCulture, jsonReader_0.JsonToken_0));
     }
     return(null);
 }
Пример #3
0
        private object method_2(JsonReader jsonReader_0)
        {
            IDictionary <string, object> dictionary = new ExpandoObject();

            while (jsonReader_0.Read())
            {
                switch (jsonReader_0.JsonToken_0)
                {
                case JsonToken.PropertyName:
                {
                    string str = jsonReader_0.Object_0.ToString();
                    if (!jsonReader_0.Read())
                    {
                        throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading ExpandoObject.");
                    }
                    object obj2 = this.method_0(jsonReader_0);
                    dictionary[str] = obj2;
                    break;
                }

                case JsonToken.EndObject:
                    return(dictionary);
                }
            }
            throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading ExpandoObject.");
        }
Пример #4
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            byte[] buffer;
            Type   type = Class194.smethod_10(objectType) ? Nullable.GetUnderlyingType(objectType) : objectType;

            if (reader.JsonToken_0 == JsonToken.Null)
            {
                if (!Class194.smethod_9(objectType))
                {
                    throw JsonSerializationException.smethod_1(reader, "Cannot convert null value to {0}.".smethod_0(CultureInfo.InvariantCulture, objectType));
                }
                return(null);
            }
            if (reader.JsonToken_0 == JsonToken.StartArray)
            {
                buffer = this.method_1(reader);
            }
            else
            {
                if (reader.JsonToken_0 != JsonToken.String)
                {
                    throw JsonSerializationException.smethod_1(reader, "Unexpected token parsing binary. Expected String or StartArray, got {0}.".smethod_0(CultureInfo.InvariantCulture, reader.JsonToken_0));
                }
                buffer = Convert.FromBase64String(reader.Object_0.ToString());
            }
            if (type.smethod_14("System.Data.Linq.Binary"))
            {
                return(Activator.CreateInstance(type, new object[] { buffer }));
            }
            if (type != typeof(SqlBinary))
            {
                throw JsonSerializationException.smethod_1(reader, "Unexpected object type when writing binary: {0}".smethod_0(CultureInfo.InvariantCulture, objectType));
            }
            return(new SqlBinary(buffer));
        }
Пример #5
0
        private byte[] method_1(JsonReader jsonReader_0)
        {
            List <byte> list = new List <byte>();

            while (jsonReader_0.Read())
            {
                switch (jsonReader_0.JsonToken_0)
                {
                case JsonToken.Comment:
                {
                    continue;
                }

                case JsonToken.Integer:
                {
                    list.Add(Convert.ToByte(jsonReader_0.Object_0, CultureInfo.InvariantCulture));
                    continue;
                }

                case JsonToken.EndArray:
                    return(list.ToArray());
                }
                throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected token when reading bytes: {0}".smethod_0(CultureInfo.InvariantCulture, jsonReader_0.JsonToken_0));
            }
            throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading bytes.");
        }
Пример #6
0
        private Regex method_4(JsonReader jsonReader_0, JsonSerializer jsonSerializer_0)
        {
            string       pattern  = null;
            RegexOptions?nullable = null;

            while (jsonReader_0.Read())
            {
                string str2;
                switch (jsonReader_0.JsonToken_0)
                {
                case JsonToken.PropertyName:
                {
                    str2 = jsonReader_0.Object_0.ToString();
                    if (!jsonReader_0.Read())
                    {
                        throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading Regex.");
                    }
                    if (!string.Equals(str2, "Pattern", StringComparison.OrdinalIgnoreCase))
                    {
                        break;
                    }
                    pattern = (string)jsonReader_0.Object_0;
                    continue;
                }

                case JsonToken.Comment:
                {
                    continue;
                }

                case JsonToken.EndObject:
                {
                    if (pattern == null)
                    {
                        throw JsonSerializationException.smethod_1(jsonReader_0, "Error deserializing Regex. No pattern found.");
                    }
                    RegexOptions?nullable2 = nullable;
                    return(new Regex(pattern, nullable2.HasValue ? nullable2.GetValueOrDefault() : RegexOptions.None));
                }

                default:
                {
                    continue;
                }
                }
                if (string.Equals(str2, "Options", StringComparison.OrdinalIgnoreCase))
                {
                    nullable = new RegexOptions?(jsonSerializer_0.Deserialize <RegexOptions>(jsonReader_0));
                }
                else
                {
                    jsonReader_0.Skip();
                }
            }
            throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading Regex.");
        }
Пример #7
0
 public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
 {
     if (reader.JsonToken_0 == JsonToken.StartObject)
     {
         return(this.method_4(reader, serializer));
     }
     if (reader.JsonToken_0 != JsonToken.String)
     {
         throw JsonSerializationException.smethod_1(reader, "Unexpected token when reading Regex.");
     }
     return(this.method_3(reader));
 }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            bool flag;
            Type type = (flag = Class194.smethod_10(objectType)) ? Nullable.GetUnderlyingType(objectType) : objectType;

            if (reader.JsonToken_0 == JsonToken.Null)
            {
                if (!Class194.smethod_10(objectType))
                {
                    throw JsonSerializationException.smethod_1(reader, "Cannot convert null value to {0}.".smethod_0(CultureInfo.InvariantCulture, objectType));
                }
                return(null);
            }
            try
            {
                if (reader.JsonToken_0 == JsonToken.String)
                {
                    string str2;
                    string str = reader.Object_0.ToString();
                    if ((str == string.Empty) && flag)
                    {
                        return(null);
                    }
                    Class179 <string, string> class2 = this.method_0(type);
                    if (str.IndexOf(',') != -1)
                    {
                        string[] strArray = str.Split(new char[] { ',' });
                        for (int i = 0; i < strArray.Length; i++)
                        {
                            string str3 = strArray[i].Trim();
                            strArray[i] = smethod_0(class2, str3);
                        }
                        str2 = string.Join(", ", strArray);
                    }
                    else
                    {
                        str2 = smethod_0(class2, str);
                    }
                    return(Enum.Parse(type, str2, true));
                }
                if (reader.JsonToken_0 == JsonToken.Integer)
                {
                    return(Class181.smethod_10(reader.Object_0, CultureInfo.InvariantCulture, type));
                }
            }
            catch (Exception exception)
            {
                throw JsonSerializationException.smethod_2(reader, "Error converting value {0} to type '{1}'.".smethod_1(CultureInfo.InvariantCulture, Class193.smethod_7(reader.Object_0), objectType), exception);
            }
            throw JsonSerializationException.smethod_1(reader, "Unexpected token when parsing enum. Expected String or Integer, got {0}.".smethod_0(CultureInfo.InvariantCulture, reader.JsonToken_0));
        }
Пример #9
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            bool flag;
            Type type = (flag = Class194.smethod_10(objectType)) ? Nullable.GetUnderlyingType(objectType) : objectType;

            if (reader.JsonToken_0 == JsonToken.Null)
            {
                if (!Class194.smethod_10(objectType))
                {
                    throw JsonSerializationException.smethod_1(reader, "Cannot convert null value to {0}.".smethod_0(CultureInfo.InvariantCulture, objectType));
                }
                return(null);
            }
            if (reader.JsonToken_0 == JsonToken.Date)
            {
                if (type == typeof(DateTimeOffset))
                {
                    return(new DateTimeOffset((DateTime)reader.Object_0));
                }
                return(reader.Object_0);
            }
            if (reader.JsonToken_0 != JsonToken.String)
            {
                throw JsonSerializationException.smethod_1(reader, "Unexpected token parsing date. Expected String, got {0}.".smethod_0(CultureInfo.InvariantCulture, reader.JsonToken_0));
            }
            string str = reader.Object_0.ToString();

            if (string.IsNullOrEmpty(str) && flag)
            {
                return(null);
            }
            if (type == typeof(DateTimeOffset))
            {
                if (!string.IsNullOrEmpty(this.string_1))
                {
                    return(DateTimeOffset.ParseExact(str, this.string_1, this.Culture, this.dateTimeStyles_0));
                }
                return(DateTimeOffset.Parse(str, this.Culture, this.dateTimeStyles_0));
            }
            if (!string.IsNullOrEmpty(this.string_1))
            {
                return(DateTime.ParseExact(str, this.string_1, this.Culture, this.dateTimeStyles_0));
            }
            return(DateTime.Parse(str, this.Culture, this.dateTimeStyles_0));
        }
Пример #10
0
        private object method_1(JsonReader jsonReader_0)
        {
            IList <object> list = new List <object>();

            while (jsonReader_0.Read())
            {
                JsonToken token = jsonReader_0.JsonToken_0;
                if (token != JsonToken.Comment)
                {
                    if (token == JsonToken.EndArray)
                    {
                        return(list);
                    }
                    object item = this.method_0(jsonReader_0);
                    list.Add(item);
                }
            }
            throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading ExpandoObject.");
        }
Пример #11
0
 public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
 {
     if (reader.JsonToken_0 == JsonToken.Null)
     {
         return(null);
     }
     if (reader.JsonToken_0 == JsonToken.String)
     {
         try
         {
             return(new Version((string)reader.Object_0));
         }
         catch (Exception exception)
         {
             throw JsonSerializationException.smethod_2(reader, "Error parsing version string: {0}".smethod_0(CultureInfo.InvariantCulture, reader.Object_0), exception);
         }
     }
     throw JsonSerializationException.smethod_1(reader, "Unexpected token or value when parsing version. Token: {0}, Value: {1}".smethod_1(CultureInfo.InvariantCulture, reader.JsonToken_0, reader.Object_0));
 }
Пример #12
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            bool flag = Class194.smethod_10(objectType);

            if (reader.JsonToken_0 == JsonToken.Null)
            {
                if (!flag)
                {
                    throw JsonSerializationException.smethod_1(reader, "Cannot convert null value to KeyValuePair.");
                }
                return(null);
            }
            Type         type             = flag ? Nullable.GetUnderlyingType(objectType) : objectType;
            IList <Type> genericArguments = type.GetGenericArguments();
            Type         type2            = genericArguments[0];
            Type         type3            = genericArguments[1];
            object       obj2             = null;
            object       obj3             = null;

            reader.Read();
            while (reader.JsonToken_0 == JsonToken.PropertyName)
            {
                string a = reader.Object_0.ToString();
                if (string.Equals(a, "Key", StringComparison.OrdinalIgnoreCase))
                {
                    reader.Read();
                    obj2 = serializer.Deserialize(reader, type2);
                }
                else if (string.Equals(a, "Value", StringComparison.OrdinalIgnoreCase))
                {
                    reader.Read();
                    obj3 = serializer.Deserialize(reader, type3);
                }
                else
                {
                    reader.Skip();
                }
                reader.Read();
            }
            return(Activator.CreateInstance(type, new object[] { obj2, obj3 }));
        }
Пример #13
0
        private object method_0(JsonReader jsonReader_0)
        {
Label_000B:
            switch (jsonReader_0.JsonToken_0)
            {
            case JsonToken.StartObject:
                return(this.method_2(jsonReader_0));

            case JsonToken.StartArray:
                return(this.method_1(jsonReader_0));

            case JsonToken.Comment:
                if (!jsonReader_0.Read())
                {
                    throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected end when reading ExpandoObject.");
                }
                goto Label_000B;
            }
            if (!JsonReader.smethod_0(jsonReader_0.JsonToken_0))
            {
                throw JsonSerializationException.smethod_1(jsonReader_0, "Unexpected token when converting ExpandoObject: {0}".smethod_0(CultureInfo.InvariantCulture, jsonReader_0.JsonToken_0));
            }
            return(jsonReader_0.Object_0);
        }