如何使用 SwiftyJson 解析 json 响应。以下是我的代码和回复

Posted

技术标签:

【中文标题】如何使用 SwiftyJson 解析 json 响应。以下是我的代码和回复【英文标题】:How to parse json response using SwiftyJson. Below is my code and response 【发布时间】:2016-11-23 10:07:04 【问题描述】:
func authenticateUser()
    

    Alamofire.request("http://dev.myvmanager.com/vManagerMobileWebService/api/vMobile/Authenticate_iNotifications?username=s-s-rikanth&password=bA2135&device=iPhone&device_token=iPhone&sitekey=C0d3b33s@)!@").responseJSON
        
            response in
            debugPrint(response)     
       

【问题讨论】:

【参考方案1】:

只需使用 SwiftyJSON 中的这个构造函数并输入响应数据

Alamofire
    .request("http://dev.myvmanager.com/vManagerMobileWebService/api/vMobile/Authenticate_iNotifications?username=s-s-rikanth&password=bA2135&device=iPhone&device_token=iPhone&sitekey=C0d3b33s@)!@")
    .responseJSON  response in
        debugPrint(response)
        if let actualData = response.data 
            let json = JSON(data: actualData)
            debugPrint(json)
     

从 json 中检索数据

let json = JSON(data: actualData)
if let userName = json[0]["login_name"].string 
    //Now you got your value

更多信息请查看https://github.com/SwiftyJSON/SwiftyJSON 和示例项目。

这也是 JSON 映射器的一个很好的比较

https://github.com/bwhiteley/JSONShootout

【讨论】:

当我实现上面的那一行时,我得到一个像这样的错误“无法将类型数据响应的值转换为预期的参数类型数据” @SachitPhilip 测试后我收到此错误 无法将类型“DataResponse”的值转换为预期的参数类型“数据” -> 我更新了我的答案和它希望现在可以工作 @ KaraBenMemsi 我现在收到了这样的回复 [ “Description”:null,“Message”:null,“vmanager_account”:“True”,“user_id”:“174”,“login_name” :“s-s-rikanth”,“user_name”:“Surya Srikanth”,“owner_id”:“1”,“user_email”:“srikanth@codebees.com”,“customer_id”:“20”,“vmanager_cc”:“True”, “vmanager_tp”:“True”,“customer_name”:“vCom Solutions”,“is_so”:“0”]假设我想从中检索一个值..例如“login_name”怎么做?跨度> 非常感谢。你的救命稻草。我还有一个疑问。我现在已经硬编码了 url 中的所有字段。假设这是 url “dev.myvmanager.com/vManagerServiceDev/api/vMobile/…”,我想在获取请求“用户名”中传递以下参数:文本字段中的文本、“密码”:文本字段中的文本、“设备”:“iPhone”、“设备令牌” = "iPhone", "sitekey" = "testsite" 应该怎么做? @SachitPhilip 你可能会做这样的事情:"http://domain.com/path?username=\(textfield.text)&password=\(othertextfield.text)" 等等

以上是关于如何使用 SwiftyJson 解析 json 响应。以下是我的代码和回复的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?

如何获取解析 json - SwiftyJSON

如何使用 Alamofire 和 SwiftyJSON 正确解析 JSON

我应该如何使用 Alamofire 和 SwiftyJSON 解析来自 API 的 JSON 响应?

swift、Alamofire、SwiftyJSON:如何解析 arrayObject

如何使用 SwiftyJSON 解析特定格式的 json?