无法将“JSON”类型的值转换为预期的参数类型“JSON”

Posted

技术标签:

【中文标题】无法将“JSON”类型的值转换为预期的参数类型“JSON”【英文标题】:Cannot convert value of type 'JSON' to expected argument type 'JSON' 【发布时间】:2016-04-21 07:47:20 【问题描述】:

下面是代码,

//Controller.swift
struct MyObject 
    init(myJson: JSON) 
    // some code here
    


//unittest.swift
let json = JSON("")
let obj = MyObject(myJson: json)

我收到错误Cannot convert value of type 'JSON' to expected argument type 'JSON'

注意:但是,当我将结构放在同一个单元测试文件中时,不会发生这种情况。使用 SwiftyJSON 库进行 JSON 解析

【问题讨论】:

【参考方案1】:

当我忘记将数据类型从 JSON 转换为 Swift 表示时,我收到了这个错误。希望这个例子有所帮助。

例如:

let someString = json["name"].string let someArray = json["products"].arrayObject

【讨论】:

【参考方案2】:

敲了几个小时后,我发现这个问题是由于应用程序和测试目标都包含 SwiftyJSON 文件造成的。

【讨论】:

以上是关于无法将“JSON”类型的值转换为预期的参数类型“JSON”的主要内容,如果未能解决你的问题,请参考以下文章

无法将类型“[Surah]”的值转换为预期的参数类型“Range<Int>”

无法将“DataResponse<Any>”类型的值转换为预期的参数类型“Data”

无法将类型“()”的值转换为预期的参数类型“字符串”

无法将“字符串”类型的值转换为预期的参数类型 [任何]

Swift:无法将“NSDate”类型的值转换为预期的参数类型“NSDateComponents”

无法将“()”类型的值转换为预期的参数类型“(() -> Void)?”在 swiftui