public double GetFloatFrom(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.Float)
throw new ValueAccessException("Float", val.Type.ToString());
return val.Float;
}
else if (key is string && m_cd.Type == ValueType.Object)
{
IronJSONValue val = (IronJSONValue)m_cd.Obj[(string)key];
if (val.Type != ValueType.Float)
throw new ValueAccessException("Float", val.Type.ToString());
return val.Float;
}
else
throw new InvalidKeyException(key.ToString());
}