如何将json转换成字符串数组
How to convert json into String array
您好,我是 Swift 的新手,我正在尝试制作一个简单的应用程序。
应用程序从服务器获取数据为 JSON 格式。
func addLangList(completion: @escaping ([String], [String]) -> Void) {
let request = NetworkRequest()
let reqUrl = NetworkInformation.serverAddr + "/word/purpose"
let parameters: Parameters = ["category": "lang"]
request.sendGetRequest(url: reqUrl, parameters: parameters, success: { (response) in
let json = JSON(response)
let isSuccess = json[ServerResponseKey.KEY_RESULT]
if isSuccess == true {
var resultMessage:JSON = json[ServerResponseKey.KEY_MESSAGE]
let lang = resultMessage["lang"].arrayValue
let purpose = resultMessage["purpose"].arrayValue
completion(lang, purpose)
}
}, fail: request.CommonNetworkFailureHandler)
}
通过使用Swiftyjson,函数将接收到的数据转换成JSON格式。在闭包内部,调用 'completion' 以在调用者中进行进一步处理。 'completion(lang, purpose) 时发生错误。 Xcode 说
" Cannot convert value of type '[JSON]' to expected argument type '[String]'".
错误,我猜是因为 .arrayValue
不会将 resultMessage["lang"]
更改为 [String]
类型....谁能给我一些建议??
那 2 个数组
let lang = resultMessage["lang"].array
let purpose = resultMessage["purpose"].array
属于 JSON
类型,它不是 String
类型,您需要转换它们
let langStr = lang.map { [=11=].string }
let purposeStr = purpose.map { [=11=].string }
let langStr = lang.map { [=10=].string }
let purposeStr = purpose.map { [=10=].string }
您好,我是 Swift 的新手,我正在尝试制作一个简单的应用程序。
应用程序从服务器获取数据为 JSON 格式。
func addLangList(completion: @escaping ([String], [String]) -> Void) {
let request = NetworkRequest()
let reqUrl = NetworkInformation.serverAddr + "/word/purpose"
let parameters: Parameters = ["category": "lang"]
request.sendGetRequest(url: reqUrl, parameters: parameters, success: { (response) in
let json = JSON(response)
let isSuccess = json[ServerResponseKey.KEY_RESULT]
if isSuccess == true {
var resultMessage:JSON = json[ServerResponseKey.KEY_MESSAGE]
let lang = resultMessage["lang"].arrayValue
let purpose = resultMessage["purpose"].arrayValue
completion(lang, purpose)
}
}, fail: request.CommonNetworkFailureHandler)
}
通过使用Swiftyjson,函数将接收到的数据转换成JSON格式。在闭包内部,调用 'completion' 以在调用者中进行进一步处理。 'completion(lang, purpose) 时发生错误。 Xcode 说
" Cannot convert value of type '[JSON]' to expected argument type '[String]'".
错误,我猜是因为 .arrayValue
不会将 resultMessage["lang"]
更改为 [String]
类型....谁能给我一些建议??
那 2 个数组
let lang = resultMessage["lang"].array
let purpose = resultMessage["purpose"].array
属于 JSON
类型,它不是 String
类型,您需要转换它们
let langStr = lang.map { [=11=].string }
let purposeStr = purpose.map { [=11=].string }
let langStr = lang.map { [=10=].string }
let purposeStr = purpose.map { [=10=].string }