     public init(_ string: Swift.String) {
         self = .String(string)
     }
+    
+    /** 
+    * string value of this JSON, only null, string, true, false, number values has value
+    */
     public var string : Swift.String? {
         switch self {
             case .String(let x): return x
+            case .Null: return "null"
+            case .Boolean(let b): return b.description
+            case .Number(let n): return n.description
             default: return nil
         }
     }

        self = .Number(Double(value))
    }
    
    public var double : Double? {
        switch self {
            case .Number(let x): return x

        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)
