public bool GetBooleanFrom(object key)
{
if (!Exists(key))
throw new KeyNotFoundException(key.ToString());
if (key is int && m_cd.Type == ValueType.Array)
{
IronJSONValue val = (IronJSONValue)m_cd.Array[(int)key];
if (val.Type != ValueType.True || val.Type != ValueType.False)
throw new ValueAccessException("Bool", val.Type.ToString());
if (val.Type == ValueType.True)
return true;
else
return false;
}
else if (key is string && m_cd.Type == ValueType.Object)
{
IronJSONValue val = (IronJSONValue)m_cd.Obj[(string)key];
if (val.Type != ValueType.True || val.Type != ValueType.False)
throw new ValueAccessException("Bool", val.Type.ToString());
if (val.Type == ValueType.True)
return true;
else
return false;
}
else
throw new InvalidKeyException(key.ToString());
}