如何在 IOS 上使用 Swift 解析 JSON,从 PHP 服务脚本发送?

     2023-03-16     160

关键词:

【中文标题】如何在 IOS 上使用 Swift 解析 JSON,从 PHP 服务脚本发送?【英文标题】:How to Parse a JSON with Swift on IOS, sent from a PHP service script? 【发布时间】:2015-12-06 04:03:34 【问题描述】:

我在使用 swift 在 IOS 上解析从 PHP 脚本发送的 JSON 时遇到问题。我这周刚开始学习 IOS 开发,之前也从未使用过 JSON,因此在正确解析此内容方面的任何帮助将不胜感激。我将 mysql 查询的结果作为 JSON 发送到应用程序。这是我的 swift 代码和错误日志,您可以在其中看到 http 服务接收到的对象。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
    let secondViewController:VC2 = segue.destinationViewController as! VC2

    let myUrl = NSURL(string: "myscriptaddress");

            let request = NSMutableURLRequest(URL:myUrl!);

            request.HTTPMethod = "POST";

            let postString = "condition=" + String(currentval);

            request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);

            secondViewController.mystring = "getting ready"

            let task = NSURLSession.sharedSession().dataTaskWithRequest(request) 
                data, response, error in
                guard data != nil else 
                    print("no data found: \(error)")
                    return
                

                do 
                    if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary 

                        print("Success")

                     else 
                        let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
                        print("Error could not parse JSON: \(jsonStr)")

                    
                 catch let parseError 
                    print(parseError)
                    let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
                    print("Error can't parse JSON: '\(jsonStr)'")

                
            

            task.resume()

现在是错误日志:

Error could not parse JSON: Optional(["unidad":"sanfrancisco","capacidad":"15","uso":"5","telefono":"num","unidad":"pediatricouniversitario","capacidad":"15","uso":"5","telefono":"num","unidad":"sanjorge","capacidad":"15","uso":"7","telefono":"num","unidad":"himacaguas","capacidad":"20","uso":"4","telefono":"num","unidad":"himabayamon","capacidad":"20","uso":"8","telefono":"num","unidad":"sanlucas","capacidad":"10","uso":"8","telefono":"num","unidad":"auxiliomutuo","capacidad":"15","uso":"11","telefono":"num"])

【问题讨论】:

【参考方案1】:

它无法将 JSON 数据解包为字典类型。提供的 JSON 字符串是一个对象数组。

在你的 JSONObjectWithData 调用中试试这个:

let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String : AnyObject]]

【讨论】:

如何使用 Swift 2 + XCode 7 + iOS 9 获取和解析 JSON [重复]

】如何使用Swift2+XCode7+iOS9获取和解析JSON[重复]【英文标题】:HowToFetchandParseJSONUsingSwift2+XCode7+iOS9[duplicate]【发布时间】:2015-10-1016:41:01【问题描述】:一直在寻找有关Swift2和iOS9网络的有用教程,但该主题似乎没有在线内容。我已... 查看详情

如何在 Swift 5 中使用 Alamofire 解析 json

】如何在Swift5中使用Alamofire解析json【英文标题】:HowtoparsejsonwithAlamofireinSwift5【发布时间】:2019-11-1411:21:21【问题描述】:我是iOS编程语言的新手,我正在尝试将数据从WordPressJSON提取到表格视图中。我遇到了错误:\'Any\'类型的... 查看详情

iOS Swift:使用 AFNetworking 解析响应 json

】iOSSwift:使用AFNetworking解析响应json【英文标题】:iOSSwift:ParsingresponsejsonwithAFNetworking【发布时间】:2014-06-1616:36:27【问题描述】:所以,我正在使用AFNetworking2.0(带有桥接头的ObjC框架)在本地服务器上发出一些请求。我已经按... 查看详情

使用 alamofire 在 Swift 上解析 Json

】使用alamofire在Swift上解析Json【英文标题】:JsonParsingatSwiftwithalamofire【发布时间】:2018-06-1807:38:59【问题描述】:我正在用alamofire快速解析JSON。我正在尝试查看循环我的json,但我的代码有问题。使用调试器查看代码时,我的应... 查看详情

iOS - 在 Swift 中使用 NSJSONSerialization 解析 JSON 字典

】iOS-在Swift中使用NSJSONSerialization解析JSON字典【英文标题】:iOS-ParsingJSONDictionarywithNSJSONSerializationinSwift【发布时间】:2015-10-1922:02:09【问题描述】:我正在使用我的RESTWeb服务来获取我想要的JSON数据,这可以按预期工作并打印:[... 查看详情

swift 1.2 中的 JSON 解析问题

...应。我已经在这个问题上停留了很长一段时间。我不知道如何解决它。我是iOS开发的新手。我也没有使用任何第三方库。[不知道如何使用它们]我的第一次迭代得到了正确的响应,但对于下一次迭代,前一次迭代的结果与新结果... 查看详情

如何在 iOS 上使用 Swift 将 1 个以上的 RSS Feed 解析并合并为一个 Feed

】如何在iOS上使用Swift将1个以上的RSSFeed解析并合并为一个Feed【英文标题】:HowtoParseandCombineMorethan1RSSFeedintoOneFeedusingSwiftoniOS【发布时间】:2014-07-1917:14:25【问题描述】:我正在尝试使用Swift在我的iOS7/8项目中实现一项功能,该功... 查看详情

如何在 swift iOS 中使用 swift 高阶函数从本地 json 创建 ViewModel

】如何在swiftiOS中使用swift高阶函数从本地json创建ViewModel【英文标题】:HowtocreateViewModelfromlocaljsonwithswifthigherorderfunctioninswiftiOS【发布时间】:2021-12-3111:45:45【问题描述】:我有一个本地json并创建了可以解析和获取数据的数据模... 查看详情

如何使用 Alamofire 在 Swift 3 中解析 JSON?

】如何使用Alamofire在Swift3中解析JSON?【英文标题】:HowtoParseJSONinSwift3usingAlamofire?【发布时间】:2017-04-2110:29:59【问题描述】:我正在使用Swift3。直到现在我还没有真正使用过JSON。我正面临这个问题,我只能在query之前解析数据... 查看详情

如何使用 JSON.serializer 在 Swift 中解析 JSON

】如何使用JSON.serializer在Swift中解析JSON【英文标题】:HowtoparseJSONinSwiftusingJSON.serializer【发布时间】:2020-04-0318:23:29【问题描述】:我正在学习在Xcode中解析OpenWeatherAPI并且有点困惑。因此,我必须发出get请求以接收来自OpenWeather... 查看详情

在swift iOS中使用JSON解码器解析本地Json

】在swiftiOS中使用JSON解码器解析本地Json【英文标题】:LocalJsonparsingwithJSONDecoderinswiftiOS【发布时间】:2021-12-2215:45:27【问题描述】:我想解析本地JSON并使用JSON解码器访问内部内容。我是JSON解码器的新手,任何人都可以建议。JSO... 查看详情

如何在 Swift 3 中使用 Alamofire 4 解析这个 json?

】如何在Swift3中使用Alamofire4解析这个json?【英文标题】:HowtoparsethisjsonwithAlamofire4inSwift3?【发布时间】:2016-12-2016:02:40【问题描述】:我有下面的json,但无法弄清楚如何在Swift3中解析它。我的代码在下面。API中的json有一个数组... 查看详情

使用 Swift 3 解析 JSON

】使用Swift3解析JSON【英文标题】:ParseJSONwithSwift3【发布时间】:2016-09-2013:38:43【问题描述】:我已经尝试让这个工作两周了。它正在使用Swift2在iOS9上运行,但现在这似乎无缘无故地不起作用。我添加了print("[DEBUG]Iwashere1/2/3/... 查看详情

IOS/Swift/JSON:使用 swiftyJSON 解析嵌套的 JSON

】IOS/Swift/JSON:使用swiftyJSON解析嵌套的JSON【英文标题】:IOS/Swift/JSON:ParsenestedJSONwithswiftyJSON【发布时间】:2018-06-0122:54:07【问题描述】:我在解析以下嵌套JSON时遇到问题。我可以获得第一级,但不能获得后续级别。任何人都可... 查看详情

如何使用 SWIFT3 解析此 JSON [重复]

】如何使用SWIFT3解析此JSON[重复]【英文标题】:HowtoparsethisJSONusingSWIFT3[duplicate]【发布时间】:2017-02-1013:25:32【问题描述】:这里我想通过url解析JSON。这是url上可用的实际JSON数据。所以我需要解析它并使用Alamofire在我的应用程序... 查看详情

iOS - 在 Swift 中调用 Webservice 并解析 JSON

...nSwift【发布时间】:2015-10-2611:00:19【问题描述】:我正在使用NSURLSession调用我自己的返回JSON的Web服务,使用此代码可以正常工作:funcgetJSONFromDatabase()leturl=NSURL(string:"http://www.myu 查看详情

如何使用 Codable 在 Swift 中使用动态文件名解析 JSON

】如何使用Codable在Swift中使用动态文件名解析JSON【英文标题】:HowtoparseJSONinSwiftwithdynamicfilenameusingCodable【发布时间】:2020-04-1507:11:54【问题描述】:我正在尝试将以下JSON解析为一个类,但不知道如何处理这种特殊情况。这里是... 查看详情

如何使用 [] 括号解析 JSON?

】如何使用[]括号解析JSON?【英文标题】:HowtoparsethroughJSONwith[]brackets?【发布时间】:2020-02-0201:41:14【问题描述】:我在这样的网站上通过JSON解析(在Swift中的request.httpMethod="GET"):letexample=json.data.first?.TShirtPrice我得到的JSON是这样... 查看详情