internal static bool IsJsonPrimitiveType(Type type)
 {
     if (ReflectionUtils.IsNullableType(type))
     {
         type = Nullable.GetUnderlyingType(type);
     }
     if (type == typeof(DateTimeOffset))
     {
         return(true);
     }
     if (type == typeof(byte[]))
     {
         return(true);
     }
     if (type == typeof(Uri))
     {
         return(true);
     }
     if (type == typeof(TimeSpan))
     {
         return(true);
     }
     if (type == typeof(Guid))
     {
         return(true);
     }
     return(JsonConvert.IsJsonPrimitiveTypeCode(Type.GetTypeCode(type)));
 }
        internal static bool IsJsonPrimitive(object value)
        {
            if (value == null)
            {
                return(true);
            }
            IConvertible convertible = value as IConvertible;

            if (convertible != null)
            {
                return(JsonConvert.IsJsonPrimitiveTypeCode(convertible.GetTypeCode()));
            }
            if (value is DateTimeOffset)
            {
                return(true);
            }
            if (value is byte[])
            {
                return(true);
            }
            if (value is Uri)
            {
                return(true);
            }
            if (value is TimeSpan)
            {
                return(true);
            }
            if (value is Guid)
            {
                return(true);
            }
            return(false);
        }