我有一个简单的字符串在斯威夫特:
let str = "{"phone": "+79217463536","name": "skjfhkjdhg","username": "ksfhksdjhf"}"我生成数据:
let data = str.data(.utf8)然后将数据发送到request.httpBody = data,然后发送post请求。
当斯威夫特将字符串转换为数据时,它会添加一个字符"\",而服务器不理解我的json。
"{\"phone\": \"+79217463536\",\"name\": \"skjfhkjdhg\",\"username\": \"ksfhksdjhf\"}"在蟒蛇身上,效果很好。请帮帮我,我需要将字符串转换成没有任何符号的数据,或者我需要发送没有数据的请求,并使用字符串发送请求。
发布于 2022-11-27 19:31:33
不要以这种方式创建数据,这很容易出错。还有更好的方法。
结构化模型:可编码{ let name: String let phone: String let username: String }
让模型=模型(名称:“这里的名称”,电话:“这里的电话”,用户名:“这里的用户名”)
让数据=尝试JSONEncoder().encode(model)
然后通过URLRequest发送这些数据。
并且您应该添加contenttype标题。否则,您的api将无法理解您正在发送的内容。
let url = URL(string: "plannerok.ru/api/v1/users/register/")
var request = URLRequest(url: url!)
request.httpMethod = "POST"
request.httpBody = data
// add this
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession.shared https://stackoverflow.com/questions/74589901
复制相似问题