繁体   English   中英

将JSON响应转换为字典式Swift

[英]Converting JSON reponse to an Dictonary Swift

我在将JSON响应转换为字典时遇到了一些麻烦,以至于我可以同时在应用程序中使用一些静态数据,而不必一直等待请求。 所以我的JSON格式如下

JSON回复

{
    stories =     (
                {
            "Article_Link" = "http://www.webdesignernews.com/ad_redirect?id=53";
            "Article_Shares" = "";
            "Article_Time" = "";
            "Article_Title" = "35 free images: Choose from Bigstock's library of 27 million\n[ad]";
            index = 1;
            source = "Web-Designer-Depot_recent";
            url = "http://www.webdesignernews.com/";
        },
                {
            "Article_Link" = "http://www.webdesignernews.com/redirect?url=http%3A%2F%2Ftympanus.net%2Fcodrops%2F2015%2F09%2F14%2Fcreating-material-design-ripple-effects-svg%2F";
            "Article_Shares" = 298;
            "Article_Time" = "32 min ago";
            "Article_Title" = "Creating Material Design Ripple Effects with SVG";
            index = 2;
            source = "Web-Designer-Depot_recent";
            url = "http://www.webdesignernews.com/";
        }
    );
}

这是我尝试创建的字典,以在游乐场文件中重新创建此响应,以下

迅捷词典

var data: [String:AnyObject] [

    "stories": [

        [
            "Article_Link": "http://www.webdesignernews.com/ad_redirect?id:51",
            "Article_Shares" : "",
            "Article_Time" : "",
            "Article_Title" : "Going Retro! 150 Vintage Vector Illustrations\n[ad]",
            "index" : 1,
            "source" : "Web-Designer-Depot",
            "url" : "http://www.webdesignernews.com/",
        ],
        [
            "Article_Link" : "http://www.webdesignernews.com/redirect?url:http%3A%2F%2Fprinzhorn.github.io%2Fskrollr%2F",
            "Article_Shares" : "2.3K",
            "Article_Time" : "23 min ago",
            "Article_Title" : "Skrollr - Scroll Animations for Everyone",
            "index" : 2,
            "source" : "Web-Designer-Depot",
            "url" : "http://www.webdesignernews.com/",
        ]
    ]  
]

但是我不断收到的以下一些错误是

似乎无法弄清楚我在这里做错了什么...。

您的JSON响应包含数组。 您的数据字典应如下所示:

var data: [String:AnyObject] = [

    "stories": [

        [
            "Article_Link": "http://www.webdesignernews.com/ad_redirect?id:51",
            "Article_Shares" : "",
            "Article_Time" : "",
            "Article_Title" : "Going Retro! 150 Vintage Vector Illustrations\n[ad]",
            "index" : 1,
            "source" : "Web-Designer-Depot",
            "url" : "http://www.webdesignernews.com/",
        ],
        [
            "Article_Link" : "http://www.webdesignernews.com/redirect?url:http%3A%2F%2Fprinzhorn.github.io%2Fskrollr%2F",
            "Article_Shares" : "2.3K",
            "Article_Time" : "23 min ago",
            "Article_Title" : "Skrollr - Scroll Animations for Everyone",
            "index" : 2,
            "source" : "Web-Designer-Depot",
            "url" : "http://www.webdesignernews.com/",
        ]
    ]  
]

然后您可以解析字典,例如:

for story in data["stories"] as! NSArray {
            println(story.valueForKey("Article_Link"))
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM