ios - 如何过滤json swift中的内容

标签 ios json swift swift2

我的应用程序中有一个包含各种类别的侧边菜单,例如:“所有帖子、国际、国内等”。现在我从 API 接收数据并使用 JSON 解析它。此数据存储在 NSDictionary 中。

代码如下:

import Foundation

class Member
{
    let imageName: NSData!
    let name: String?
    let about: String?
    let tag : String?

    init(dictionary:NSDictionary)
    {
        let url = dictionary["imageUrl"] as? String
        let imgdata = NSURL(string: url!)
        imageName = NSData(contentsOfURL: imgdata!)
        name = dictionary["title"] as? String
        tag = dictionary["TAG"] as? String
        // fixup the about text to add newlines
        let unescapedAbout = dictionary["postBody"] as? String
        about = unescapedAbout?.stringByReplacingOccurrencesOfString("\\n", withString:"\n", options:[], range:nil)
    }

    class func loadMembersFromFile(path: NSURL) -> [Member]
    {
        var members:[Member] = []
        if let data = NSData(contentsOfURL: path),
        //  if let data = NSData(contentsOfFile: path, options:[]),
            json = try! NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)as? NSDictionary,
            team = json["items"] as? [NSDictionary]{
                for memberDictionary in team {
                    let member = Member(dictionary: memberDictionary)
                    members.append(member)
                }
        }
        return members
    }
}

现在 JSON 文件包含一个字段,如 TAG="international"、TAG="national"等等。

我想根据上面的标签过滤这个 JSON 数据,并只加载属于我的 TableView 中相应侧边菜单条目的数据。

最佳答案

在将"new"成员附加到数组之前,您只需检查 TAG 的值

for memberDictionary in team {
    let member = Member(dictionary: memberDictionary)
    guard let tag = member.tag as? String else {
        continue 
    }
    if tag == theTag {  // Add a parameter 'theTag' (String) to your method
        members.append(member)
    }
}

关于ios - 如何过滤json swift中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33238541/

相关文章:

ios - 移动到另一个导航 Controller 时,后退按钮变得无响应

ios - 如果我使用 Storyboard 中的 "Add missing constraints"选项来在 Storyboard 中分配约束会怎样?

ios - 苹果开发推送通知服务器地址

ios - Parse 是否支持抽象 PFObjects?

swift - 等待 Swift 包中的 URLSession 完成

ios - 是否有针对 iOS 开发人员的 MSDN 类型的开发人员杂志?

android - 改造项目列表始终为空

ruby-on-rails - ActiveModel::Serializers embed: :ids, include: true 不侧载数据

javascript - json datetime 到 javascript datetime 让我得到错误的日期

ios - 如何获取 Sprite Kit 中 UI 触摸的位置?