json - 需要帮助使用 Alamofire 使用 Swift 解析 JSON

标签 json swift parsing alamofire

我正在尝试从 Google 新闻中检索一篇文章并使用 Swift 对其进行解析。我正在使用 Alamofire。我知道解析时要做什么的基础知识,但输出看起来有点复杂,我不知道如何访问“标题”值。任何帮助,将不胜感激。谢谢!

这是 JSON 输出:


responseData =     {
        cursor =         {
            currentPageIndex = 0;
            estimatedResultCount = 445755633;
            moreResultsUrl = "http://news.google.com/nwshp?oe=utf8&ie=utf8&source=uds&q=sports&hl=en&start=0";
            pages =             (
                                {
                    label = 1;
                    start = 0;
                },
                                {
                    label = 2;
                    start = 1;
                },
                                {
                    label = 3;
                    start = 2;
                },
                                {
                    label = 4;
                    start = 3;
                },
                                {
                    label = 5;
                    start = 4;
                },
                                {
                    label = 6;
                    start = 5;
                },
                                {
                    label = 7;
                    start = 6;
                },
                                {
                    label = 8;
                    start = 7;
                }
            );
        };
        results =         (
                        {
                GsearchResultClass = GnewsSearch;
                clusterUrl = "http://news.google.com/news/story?ncl=dO-ivvqeXteuGKMAkRap55WyAkOvM&hl=en&ned=us";
                content = "sportsbook The Third Circuit Court of Appeals will rehear a potentially landmark case Wednesday brought by the NCAA, NFL, MLB, NBA and NHL claiming a New Jersey gambling law enacted in 2014 that repealed certain prohibitions on <b>sports</b> wagering in ...";
                image =                 {
                    originalContextUrl = "http://lawnewz.com/sports/new-jersey-lawsuit-could-make-sports-betting-legal-across-the-country/";
                    publisher = LawNewz;
                    tbHeight = 53;
                    tbUrl = "http://t0.gstatic.com/images?q=tbn:ANd9GcQ2htg8w11Y6_4ClDD80jdQN6VtGGMya5KomCyLCgzVjOsyMJLVdkffcSg9";
                    tbWidth = 80;
                    url = "http://lawnewz.com/wp-content/uploads/2016/02/800px-Las_Vegas_sportsbook-351x234.jpg";
                };
                language = en;
                location = "";
                publishedDate = "Tue, 16 Feb 2016 10:47:00 -0800";
                publisher = LawNewz;
                relatedStories =                 (
                                        {
                        language = en;
                        location = "";
                        publishedDate = "Tue, 16 Feb 2016 07:34:35 -0800";
                        publisher = ESPN;
                        signedRedirectUrl = "http://news.google.com/news/url?sa=T&ct2=us&fd=S&url=http://espn.go.com/chalk/story/_/id/14785562/chalk-previewing-latest-new-jersey-sports-betting-appeal&cid=52779048299261&ei=5OHDVujuMfOmwQHOn53oAg&usg=AFQjCNH7bfL6cWr1Q8PKgPOkQIP7ZRUoRw";
                        title = "Future of <b>sports</b> betting once again at stake in New Jersey";
                        titleNoFormatting = "Future of sports betting once again at stake in New Jersey";
                        unescapedUrl = "http://espn.go.com/chalk/story/_/id/14785562/chalk-previewing-latest-new-jersey-sports-betting-appeal";
                        url = "http%3A%2F%2Fespn.go.com%2Fchalk%2Fstory%2F_%2Fid%2F14785562%2Fchalk-previewing-latest-new-jersey-sports-betting-appeal";
                    }
                );
                signedRedirectUrl = "http://news.google.com/news/url?sa=T&ct2=us&fd=S&url=http://lawnewz.com/sports/new-jersey-lawsuit-could-make-sports-betting-legal-across-the-country/&cid=52779048299261&ei=5OHDVujuMfOmwQHOn53oAg&usg=AFQjCNHAqRF8uPjG1Ki7yxjz0sATv05i6A";
                title = "New Jersey Lawsuit Could Make <b>Sports</b> Betting Legal Across the Country";
                titleNoFormatting = "New Jersey Lawsuit Could Make Sports Betting Legal Across the Country";
                unescapedUrl = "http://lawnewz.com/sports/new-jersey-lawsuit-could-make-sports-betting-legal-across-the-country/";
                url = "http%3A%2F%2Flawnewz.com%2Fsports%2Fnew-jersey-lawsuit-could-make-sports-betting-legal-across-the-country%2F";
            }
        );
    };
    responseDetails = "";
    responseStatus = 200;
}

我真的很困惑,因为它看起来不像我在网上看到的大多数例子。

最佳答案

从 github 添加 SwiftyJSON 并执行下面的操作

     import SwiftyJSON

      func parseJson() {

        Alamofire.request(.POST, "urlString", parameters:   parameter, encoding: .JSON)
        .responseJSON { response in


            //Check Response

            if response.result.isFailure == true {
                return
            }

            let json = JSON(response.result.value!)

          let cursorEntity = json["Cursor"]
          let currentIndex = json["cursor"].currentPageIndex
          let pageEntity =  json["cursor"]["pages"]
          let resultsEntity = json["cursor"]["results"]
       }
    }

关于json - 需要帮助使用 Alamofire 使用 Swift 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447161/

相关文章:

javascript - 查找字符串行是否嵌套或者是另一行的子行

php - 用于解析 HTML 的 DOMDocument(而不是正则表达式)

json - 在 swift : Invalid type in JSON write (OS_dispatch_data) 中格式化 JSON

javascript - 将 JSON 解析为 HTML 嵌套列表

ios - 来自字典的 JSON 编码 [无法调用 'dataWithJSONObject ...]

ios - 按钮在 ScrollView 上保持 float

swift - 今天的扩展无法从继承 CoreMedia 权限

javascript - angular.js 非 GET 实例操作返回错误 : value. push is not a function

ios - 如何禁用在 Popover 中编辑 UITableViewController

java - 使用正则表达式查找所有包含 3 个字母的单词