gpt4 book ai didi

json - Alamofire 响应在 JSON 内容与 SwiftyJSON 一起使用之前包含文本

转载 作者:行者123 更新时间:2023-11-28 09:10:39 26 4
gpt4 key购买 nike

我正在使用 Alamofire 请求一个 JSON 对象并使用 SwiftyJSON 访问它。

我的请求的响应是这样的:

// JSON webservice ...
[
{
"message":"Please connect"
}
]

如您所见,我需要删除字符串“//JSON webservice ...”,因为它实际上不是有效的 JSON 对象。请注意,我使用的是 .responseString,否则我无法删除字符串部分。

所以为了删除我正在做的字符串:

let jsonString = data?.stringByReplacingOccurrencesOfString("// JSON webservice ...", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)

现在我可以用我的 String 做:

var json = SwiftyJSON.JSON(jsonString!)

我可以打印 json :

println(json)

但是无论我打印什么值

println(json[0]["message"].string)

为零。

最佳答案

我终于找到了解决方案:

  • 我们从 .responseString 方法中获取我们的字符串(数据)
  • 我们去掉导致JSON对象序列化失败的部分
  • 我们将字符串转换为 NSData 并尝试序列化我们的 JSON 对象:

    let data = jsonString?.dataUsingEncoding(NSUTF8StringEncoding)
    let jsonData = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSArray?
  • 现在应该没问题了,在尝试打印 JSON 对象的值时一切正常

    var json = SwiftyJSON.JSON(jsonData!)
    println(json[0]["message"])

它打印出正确的值。

关于json - Alamofire 响应在 JSON 内容与 SwiftyJSON 一起使用之前包含文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29449332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com