simple_json 0.2.3

A simple runtime JSON parser.
Documentation
#[derive(Clone, Debug, PartialEq)]
pub enum Number
{
    Unsigned(u64),
    Integer(i64),
    Float(f64),
}

impl Number
{
    pub fn to_string(&self) -> String
    {
        match self {
            &Number::Unsigned(value) => value.to_string(),
            &Number::Integer(value)  => value.to_string(),
            &Number::Float(value)    => value.to_string(),
        }
    }
}

impl From<u64> for Number
{
    fn from(number: u64) -> Number
    {
        Number::Unsigned(number)
    }
}

impl From<i64> for Number
{
    fn from(number: i64) -> Number
    {
        Number::Integer(number)
    }
}

impl From<f64> for Number
{
    fn from(number: f64) -> Number
    {
        Number::Float(number)
    }
}

impl From<Number> for u64
{
    fn from(number: Number) -> u64
    {
        match number {
            Number::Unsigned(value) => value,
            Number::Integer(value)  => value as u64,
            Number::Float(value)    => value as u64,
        }
    }
}

impl From<Number> for i64
{
    fn from(number: Number) -> i64
    {
        match number {
            Number::Unsigned(value) => value as i64,
            Number::Integer(value)  => value,
            Number::Float(value)    => value as i64,
        }
    }
}

impl From<Number> for f64
{
    fn from(number: Number) -> f64
    {
        match number {
            Number::Unsigned(value) => value as f64,
            Number::Integer(value)  => value as f64,
            Number::Float(value)    => value,
        }
    }
}