json - 类型 'String' 的值在强制中不符合 'Any'

标签 json swift4

let jsonResult = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String : Any]
let jsonString = jsonResult.map { 
    return ($0.key, "\($0.value)" == "<null>" || "\($0.value)" == "nil" ? "null" : "\($0.value)")
}
httpPOST(to: "\(postURL)/process/", withData: [("user" , userID), ("password", password)] + jsonString) {
    reply in
    Log.debug("Made request with \(jsonResult["sessionID"] as Optional) replyed \(reply as Optional)" as Any)
}

我遇到了 Log.debug() 行的问题。我不断收到'类型'字符串'的值在强制中不符合'任何'。我不确定如何将其格式化为更好的行。

最佳答案

帮自己一个忙,停止在\() 中倾倒复杂的表达式


let sid = jsonResult["sessionID"] as whatever

然后
Log.debug("Made request with \(sid)...

我在不同的地方遇到过这个“字符串”不符合“任何”的情况
比你的情况

并且有一个更笨拙的详细版本允许看到我的 session ID 是什么(类型)。

一旦我停止将所有内容和厨房考虑到那个看起来很聪明的字符串(外推)中,我就会从 swift 编译器中得到一个不同的、更友好的错误。

假设 swift 编译器是愚蠢的:它确实比看起来更愚蠢,因此,请参见上文。

关于json - 类型 'String' 的值在强制中不符合 'Any',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46980090/

相关文章:

swift - 快速限制字典的大小

ios - JSON Decodable - 按键搜索

swift - 在 Swift 中将 Bearer Token 添加到 header 时出现问题(HTTP POST 调用)

javascript - 单独显示 json_encode 结果

python - pretty-print JSON 转储

php - 我将如何解析它或将其转换为 JSON?

php - 如何在 INSERT INTO PHP 中使用字符串变量作为表目标

swift - 将按钮添加到 NSTouchBar 控制条

python - 使用 django 从外部数据库中提取数据到模板

swift - 我想在 swift 中使用 outputStream.write() 通过输出流发送 Int