问题描述
我们正在从 API 中获取一些数据,并将其解码为 [String: Any]
字典。
然后我们想要获取这个字典,并为键 "$twitter_card"
改变一个值。
然后我们想将其编码回 Data
,然后将其发送回 API。
print(seeEditResponseString)
guard let data = seeEditResponseString.data(using: .utf8) else {return}
if let dict = try? JSONSerialization.jsonObject(with: data,options: []) as? [String: Any],var dataDict = dict["data"] as? [String: Any] {
let summary: Any = "summary"
print(dataDict)
dataDict["$twitter_card"] = summary
print(dataDict)
let url = URL(string: "https://api2.branch.io/v1/url?url=\(link)")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
let jsonData = try? JSONSerialization.data(withJSONObject: ["branch_key": EnvConstants.branchKey,"branch_secret": EnvConstants.branchSecretKey,"data": dataDict])
request.httpBody = jsonData
设置"$twitter_card"
前打印语句:
["~feature": TwitterShare,"$publicly_indexable": 1,"$one_time_use": 0,"~id": 881331908143151724,"~creation_source": 3,"~channel": twitter,"$og_description": HELLO WORLD,"$twitter_app_country": US,"$twitter_card": summary_large_image]
设置 "$twitter_card"
后:
["~feature": TwitterShare,"$twitter_card": "summary"]
注意值中没有引号之前,但之后有引号。我们认为 API 请求因此而失败,但无法弄清楚如何将请求中的相同数据类型匹配回来。
编辑:这是作为 String
的响应:
"{\"data\":{\"$og_title\":\"Locker Room\",\"$publicly_indexable\":true,\"$deeplink_path\":\"open?link_click_id=881284646317326515\",\"~creation_source\":3,\"$locally_indexable\":true,\"$og_description\":\"HELLO WORLD\",\"$uri_redirect_mode\":\"2\",\"$identity_id\":\"880941693229513892\",\"$twitter_card\":\"summary_large_image\",\"$og_image_url\":\"https://bettylabs.io/lockerroom_logo_play_wide.png\",\"room\":\"91939938-1171-4e61-9ecf-5934b92298cf\",\"~feature\":\"TwitterShare\",\"url\":\"https://dummylit.com/CScjyeLyidb\",\"$twitter_title\":\"Disco Dev\",\"$fallback_url\":\"https://dummylit.com/room/91939938-1171-4e61-9ecf-5934b92298cf\",\"+url\":\"https://dummylit.com/CScjyeLyidb\",\"$ios_deeplink_path\":\"open?link_click_id=881284646317326515\",\"$canonical_identifier\":\"room/91939938-1171-4e61-9ecf-5934b92298cf\",\"$twitter_app_country\":\"US\",\"inviterId\":\"a5e7f4b2-580a-4661-aad3-2c78bb4a78c7\",\"$one_time_use\":false,\"~id\":\"881743970732394436\",\"~channel\":\"twitter\",\"$twitter_description\":\"Green Sock\"},\"type\":0,\"feature\":\"TwitterShare\",\"channel\":\"twitter\"}"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)