         return self.description.data(using:.utf8)!
     }
     public var jsonObject:Any {
-        return try! JSONSerialization.jsonObject(with:self.data)
-    }
-    public func formatted(option:
-        JSONSerialization.WritingOptions=JSONSerialization.WritingOptions(rawValue: 0)
-        )->String {
-        let data = try! JSONSerialization.data(withJSONObject:self.jsonObject, options: option)
-        return Swift.String(data: data, encoding: .utf8)!
-    }
-    public var prettyPrinted:String {
-        return self.formatted(option:[.prettyPrinted])
+        return try! JSONSerialization.jsonObject(with:self.data, options:[.allowFragments])
     }
 }
 extension JSON {

        case .Number(let v):    return v.description
        case .String(let v):    return v.debugDescription
        case .Array(let a):
            return "[" + a.map{ $0.description }.joined(separator:",") + "]"
        case .Object(let o):
            var ds = [Swift.String]()
            for (k, v) in o {
                ds.append(k.debugDescription + ":" + v.description)
            }
            return "{" + ds.joined(separator:",") + "}"
        }
    }
}
// Inits

    }
}
extension JSON : CustomStringConvertible {
    public func toString(depth d:Int, separator s:String, terminator t:String, sortedKey:Bool=false)->String {
        let i = Swift.String(repeating:s, count:d)
        let g = s == "" ? "" : " "
        switch self {
        case .Error(let m):     return ".Error(\"\(m)\")"
        case .Null:             return "null"
