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 AsBool() { IJsonValue value = null; Assert.IsNull(value.AsBool()); Assert.IsNull(JsonExtensions.Null().AsBool()); Assert.IsNull(new JsonObject().AsBool()); Assert.IsNull(JsonValue.CreateNumberValue(2.0).AsBool()); Assert.IsNull(JsonValue.CreateStringValue("2.0").AsBool()); Assert.IsNull(new JsonArray().AsBool()); Assert.AreEqual(true, JsonValue.CreateBooleanValue(true).AsBool()); }