Ios 如何形成下面的对象?
我需要向服务器发送json对象,如下所示Ios 如何形成下面的对象?,ios,arrays,json,swift,Ios,Arrays,Json,Swift,我需要向服务器发送json对象,如下所示 [{"like_ids":[3,6,12]},{"dislike_ids":[3,5,6]}] 当我尝试时,如果有人指出我想念的地方,这与实际情况有点不同。谢谢 我的代码: var params : [String : Any] = [:] params["like_ids"] = likes params["dislike_ids"] = dis
[{"like_ids":[3,6,12]},{"dislike_ids":[3,5,6]}]
当我尝试时,如果有人指出我想念的地方,这与实际情况有点不同。谢谢
我的代码:
var params : [String : Any] = [:]
params["like_ids"] = likes
params["dislike_ids"] = disLikes
喜欢和不喜欢是数组,结果如下
["like_ids": [3520, 958, 2138], "dislike_ids": [959, 6732, 10]]
很长时间没有使用Swift了,但现在我们开始 为like_id和dislike_id创建结构 (我想你会想要一个包含这两个元素的用户结构, 但这是为了具体回答你的问题
/* Structs */
struct likes: Codable {
var like_ids = [Int]()
}
struct dislikes: Codable {
var dislike_ids = [Int]()
}
// Create the instances you want in your json result
var like_ids1 = likes(like_ids: [3, 6, 12])
var dislike_ids1 = dislikes(dislike_ids: [3, 5, 6])
// This is an encoder, which in general allows you to convert Swift objects to json
let encoder = JSONEncoder()
// Encode the created instances of our struct
let data_like = try encoder.encode(like_ids1)
let data_dislike = try encoder.encode(dislike_ids2)
// Build string from encoded struct data
let json_likes = String(data: data_like, encoding: .utf8)!
let json_dislikes = String(data: data_dislike, encoding: .utf8)!
我猜您最初希望喜欢和不喜欢作为单独的对象,所以可以根据您的需要将字符串添加到一起,或者使用类似
struct feedback: Codable {
var like_ids = [Int]()
var dislike_ids = [Int]()
}
// and move on from here
不要在字典中使用任何类型,而是使用实数类型,然后可以使用JSONECODER编码json@JoakimDanielson感谢您的重播,您可以详细说明其中的值是int数组,因此请使用该数组而不是任何[String:[int]]