这是我的JSONparsing(示例): [ { "id": 1, "name": "Team name", "shower": { "id": 1, "status": 1, "startLocation": { "id": 1, "name": "abc 16" } } }, { "id": 2, "name": "Team name", "shower": { "id": 2, "status": 1, "startLocation": { "id": 1, "name": "efg 16" } } } ] 粘贴这个json查看器来轻松查看。 正如你所看到的,这是一个数组(团队)。 我需要让每个球队都做些什么。 经过多次尝试,我尝试使用SwiftyJSON ,因为我认为它会更容易。 但是,它没有为我工作。 这是我试过的: let […]
我需要以如下所示的格式构造一个JSON对象。 { "DeviceCredentials": { "UniqueId": "sample string 1" }, "Handovers": [ { "Occasions": [ { "Id": 1 }, { "Id": 1 } ] } ] } 虽然有Occasions数组虽然有一个问题。 Occasion对象的数量有所不同。 有时可能只有一个场合,有时会有多个。 由于这是dynamic的,我写了下面的方法来创build这个数组。 func getOccasionArray(handover: Handover) -> JSON { var occArray = [[String: NSNumber]]() for occ in handover.occasions { let occasion = occ as Occasion var obj = […]
我能够在控制台中打印JSON数据,看起来像这样 { "created_at" : "2016-07-21 20:46:53", "name" : "PB Admin", "id" : 1, "updated_at" : "2016-07-21 12:46:53", "lname" : "Admin", "access_lvl" : 1, "email" : "admin@admin.com", "fname" : "PB" } ,但无法将其保存到字典中。 POST请求的方法 private func makeHTTPPostRequest(path: String, body: NSDictionary) { let request = NSMutableURLRequest(URL: NSURL(string: path)!) // Set the method to POST request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", […]
我正在开发一个iOS应用程序,用户Web服务和我发现Alamofire只是完美的我在做什么,但我有一个问题; 该应用程序要求用户login这是一个Alamofire电话,并做得很好。 问题是,它必须创build一个基于另一个Alamofire请求的内容的集合视图,但始终nil 。 func getJSON(URLToRequest: String) -> JSON { let comp:String = (prefs.valueForKey("COMPANY") as? String)! let params = ["company":comp] var json:JSON! let request = Alamofire.request(.POST, URLToRequest, parameters: params).responseJSON { response in switch response.result { case .Success: if let value = response.result.value { json = JSON(value) } default: json = JSON(""); } } debugPrint(request.response) return […]
我有一个展示健康食谱的项目。 该项目将JSON对象从Alamofire返回到Arraylist,然后返回Tableview中的Table Cell。 当我加载所有的对象到tableview它加载…很慢。 8+秒。 但是我的目标是3秒。 我知道这个问题是在alamofire周围,因为我检查打印(时间戳)。 任何我做错了? func getCookData(urlString: String , completionHandler: (String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) -> ()) -> (){ Alamofire.request(.GET, urlString).responseJSON() { response in // var cookArray:[CookData] = [] if response.result.isSuccess { let data = response.result.value let cookJson = JSON(data!) for (var […]
这是我的urlstring与参数。 http://api.room2shop.com/api/product/GetProducts?categoryId=22&filter=2&pageNumber=1通过我得到我的JSON数据。 我有AFWrapper.swift文件,我已经为GETrequest定义了函数。 import UIKit import Alamofire import SwiftyJSON class AFWrapper: NSObject { class func requestGETURL(strURL: String, params : [String : AnyObject]?, success:(JSON) -> Void, failure:(NSError) -> Void) { Alamofire.request(.GET, strURL, parameters: params, encoding: ParameterEncoding.JSON).responseJSON { (responseObject) -> Void in print(responseObject) if responseObject.result.isSuccess { let resJson = JSON(responseObject.result.value!) success(resJson) } if responseObject.result.isFailure { let error […]
在更新到Xcode 8 beta 6之前,我一直在使用下面的代码没有问题。它类似于Alamofire存储库的这个例子 。 今天早上,我更新了我的Alamofire库到最新的swift3分支,它现在与swift3兼容。它显示错误: Cannot call value of non-function type 'HTTPURLResponse?' 这里也存在类似的问题,但不是基于当前版本的Swift和Alamofire。 据我所知,这个错误是因为它认为我正在尝试返回Request属性response而不是函数response(responseSerializer: <T>, completionHandler: <(Response<T.SerializedObject, T.ErrorObject>) -> Void>) ,它认为这是因为在传递给函数的responseSerializer或completionHandler中的types错误。 我怎样才能调整这个代码,使其与函数声明和编译器兼容? 我添加@escaping到completionHandler来纠正错误。 import Foundation import Alamofire import SwiftyJSON extension Alamofire.Request { public func responseObject<T: ResponseJSONObjectSerializable>(_ completionHandler: @escaping (Response<T, NSError>) -> Void) -> Self { let responseSerializer = ResponseSerializer<T, NSError> { request, res, data, […]
我知道有关swiftyJSON方法存在(),但它似乎并不总是像他们说的那样工作。 在这种情况下我如何得到正确的结果? 我不能改变JSON结构,因为我通过客户端的API来获取这个结构。 var json: JSON = ["response": ["value1","value2"]] if json["response"]["someKey"].exists(){ print("response someKey exists") } 输出: 响应someKey存在 这不应该打印,因为someKey不存在。 但有时候,这个关键是来自客户端的API,我需要知道它是否存在。
我有一个SwiftyJson数据的数组,我已经声明并填充了数据。我用来填充hoge数组的代码是这样的: self.hoge = JSON(data: data!) 但我需要追加新的swiftyJSON数据到这个hoge数组中。我注意到hoge数组没有append属性。 我该怎么做? 谢谢
下面给出的是我的自定义swift类。 我的问题是如何使用SwiftyJson将此类的对象转换为jsonstring? class Equipment{ var UniqueItemId:String? = "" var ItemNo:String? = "" var EquipmentType:String? = "" var EquipmentDescription:String? = "" var Length:String? = "" var Wll:String? = "" var EquipmentLocation:String? = "" var EquipmentManufacture:String? = "" var SerialNo:String? = "" var Condition:String? = "" var Remarks:String? = "" var InspectionDate:String? = "" var Inspector:String? = […]