     }
     
     func dumpArray(inout string: Swift.String, array: [JSON]) {
-        let comma : Character = ","
-        let open : Character = "["
-        let close : Character = "]"
+        let comma : UnicodeScalar = ","
+        let open : UnicodeScalar = "["
+        let close : UnicodeScalar = "]"
         string.append(open)
         for child in array {
             child.dump(&string)

    }
    
    func dumpString(inout string: Swift.String, jsonString: Swift.String) {
        let rs : Character = "\\"
        let s : Character = "/"
        let q : Character = "\""
        let b : Character = "b"
        let f : Character = "f"
        let n : Character = "n"
        let r : Character = "r"
        let t : Character = "t"
        
        string.append(q)
        for ch in jsonString.characters {

    private func parseNumber(index: Int) -> (JSON, Int) {
        let cursor = eatWhiteSpace(index)
        let lastIndex = getLastIndexOfNumber(cursor)
        var substr = ""
        for x in  cursor..<lastIndex {
            substr.append(string[x])
        }
        if  let number = Double(substr) {
            return (JSON(floatLiteral: number), lastIndex)
        }
        return (.None("invalid json: \(substr) is not a valid number."), lastIndex)
