Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何形成下面的对象?_Ios_Arrays_Json_Swift - Fatal编程技术网

Ios 如何形成下面的对象?

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

我需要向服务器发送json对象,如下所示

[{"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]]