System.Json.JsonValue.ToJsonValue C# (CSharp) Method

ToJsonValue() private static method

private static ToJsonValue ( object ret ) : JsonValue
ret object
return JsonValue
        private static JsonValue ToJsonValue(object ret)
        {
            if (ret == null)
            {
                return null;
            }

            var kvpc = ret as IEnumerable<KeyValuePair<string, object>>;
            if (kvpc != null)
            {
                return new JsonObject(ToJsonPairEnumerable(kvpc));
            }

            var arr = ret as IEnumerable<object>;
            if (arr != null)
            {
                return new JsonArray(ToJsonValueEnumerable(arr));
            }

            if (ret is bool) return new JsonPrimitive((bool)ret);
            if (ret is decimal) return new JsonPrimitive((decimal)ret);
            if (ret is double) return new JsonPrimitive((double)ret);
            if (ret is int) return new JsonPrimitive((int)ret);
            if (ret is long) return new JsonPrimitive((long)ret);
            if (ret is string) return new JsonPrimitive((string)ret);

            Debug.Assert(ret is ulong);
            return new JsonPrimitive((ulong)ret);
        }