 			self.statusMessage = statusMessage
 			self.headerFields = headerFields
 			self.dataº = data
+		}
+		
+		public var jsonDictionaryDataº: [String: Any]? {
+			
+			guard let data = self.dataº else {
+				return nil
+			}
+			
+			return (try? JSONSerialization.jsonObject(with: data)) as? [String: Any]
+		}
+		
+		public var jsonArrayDataº: [Any]? {
+			
+			guard let data = self.dataº else {
+				return nil
+			}
+			
+			return (try? JSONSerialization.jsonObject(with: data)) as? [Any]
 		}
 	}
 	

					if (code != CURLE_OK) { throw LakestoneError(CURLInvocationErrorType(curlCode: Int(code.rawValue), errorDetail: request.strError(code: code))) }
				}
				
                
				if self.method != .get {
				
					if let bytes = self.dataº?.bytes {
                        
                        code = request.setOption(CURLOPT_POSTFIELDSIZE, int: bytes.count)
                        if (code != CURLE_OK) { throw LakestoneError(CURLInvocationErrorType(curlCode: Int(code.rawValue), errorDetail: request.strError(code: code))) }
                        
                        code = request.setOption(CURLOPT_COPYPOSTFIELDS, v: UnsafeMutableRawPointer(mutating: bytes))
                        
						if (code != CURLE_OK) { throw LakestoneError(CURLInvocationErrorType(curlCode: Int(code.rawValue), errorDetail: request.strError(code: code))) }
					}
				}

	/// Container that carries HTTP response entities
	public class Response {
		
		public class StatusCode {
			public static let OK = 200
			public static let BadRequest = 400
			public static let Unauthorized = 401
			public static let Forbidden = 403
			public static let NotFound = 404
			public static let MethodNotAllowed = 405
			public static let NotAcceptable = 406
			public static let UnsupportedMediaType = 415
		}
		
		public class Error {
			
			#if os(OSX) || os(Linux)
