         self = .Number(Double(value))
     }
     
+    /** 
+    * Double floating value of this JSON, only for number value
+    */
     public var double : Double? {
         switch self {
             case .Number(let x): return x

    public init(nilLiteral: ()) {
      self = .Null
    }
}

extension JSON : BooleanLiteralConvertible {

        self = .Number(Double(value))
    }
    
    /** 
    * Integer value of this JSON, only for number value
    */
    public var int : Int? {
        switch self {
            case .Number(let x): return Int(x)
