如何将JSON上传到服务器?
我有一个.json文件存储在模拟器的一个文件夹中,我正在使用:如何将JSON上传到服务器?,json,swift,Json,Swift,我有一个.json文件存储在模拟器的一个文件夹中,我正在使用: let jsonData = JSONDecoder().decode(Test.self, from: data) 解码此文件(测试是可解码的结构)。我想将此数据上载到服务器。但当我使用这个时: let task = URLSession.shared.uploadTask(with: request, from: data) 我拥有的数据不是typedata,而是Test。关于如何发送文件有什么想法吗 let json =
let jsonData = JSONDecoder().decode(Test.self, from: data)
解码此文件(测试是可解码的结构)。我想将此数据上载到服务器。但当我使用这个时:
let task = URLSession.shared.uploadTask(with: request, from: data)
我拥有的数据不是typedata
,而是Test
。关于如何发送文件有什么想法吗
let json = "{\"foo\": \"bar\"}"
let jsonData = json.data(using: .utf8)
或者从文件中,您可以执行以下操作:
if let url = Bundle.main.url(forResource: "foo.json", withExtension: "json") {
let data = try Data(contentsOf: url)
}
我认为您应该尝试使用
let task=URLSession.shared.uploadTask(with:request,from:jsonData)
。这可能包含上载所需的数据。我尝试过,但遇到以下错误“无法将类型为“ViewController.Test”的值转换为预期的参数类型“data?”。显然,uploadTask只能处理类型数据。您想要什么?发送文件?或者只是文件的内容?数据
是您需要上传的数据。将数据
传递到上传任务
是正确的代码。不要解码文件。照原样上传就行了。它(您的数据
)已经是JSON数据了。