private static object ConvertNumber()

in csharp/core/Common.cs [217:251]


        private static object ConvertNumber(object input)
        {
            if (input == null) return null;

            var token = input as JToken;
            if (token != null)
            {
                if (token.Type == JTokenType.Integer)
                {
                    return token.ToObject<long>();
                }
                if (token.Type == JTokenType.Float)
                {
                    return token.ToObject<double>();
                }
                if (token.Type == JTokenType.String)
                {
                    return token.ToString();
                }
                if (token.Type == JTokenType.Array)
                {
                    return HandleList(token.Children());
                }
                if (token.Type == JTokenType.Object)
                {
                    return HandleMap(token.ToObject<Dictionary<string, object>>());
                }
                if (token.Type == JTokenType.Boolean)
                {
                    return token.ToObject<bool>();
                }
            }

            return input; 
        }