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