public static bool TryConvert(this IJsonValue value, out object propertyValue)
        {
            propertyValue = null;
            if (!value.IsNull())
            {
                switch (value.ValueType)
                {
                case JsonValueType.Boolean:
                    propertyValue = value.AsBool().Value;
                    break;

                case JsonValueType.Number:
                    propertyValue = value.AsNumber().Value;
                    break;

                case JsonValueType.String:
                    propertyValue = value.AsString();
                    break;

                case JsonValueType.Null:
                    break;

                case JsonValueType.Object:
                case JsonValueType.Array:
                default:
                    return(false);
                }
            }
            return(true);
        }
        public void IsNull()
        {
            IJsonValue value = null;

            Assert.IsTrue(value.IsNull());
            Assert.IsTrue(JsonExtensions.Null().IsNull());
            Assert.IsFalse(new JsonObject().IsNull());
            Assert.IsFalse(JsonValue.CreateStringValue("").IsNull());
            Assert.IsFalse(JsonValue.CreateNumberValue(0).IsNull());
        }