SwiftyJSON - ' inout JSON'不能转换为' JSON'

时间:2016-02-24 09:59:34

标签: ios json xcode swift swifty-json

我正面临JSON解析问题,我不知道如何解决。

我需要这部分JSON数据

"columns": { "created_at": "DESC", "id": "DESC" }

存储在[String: String]?可选字典中。所以,这是我使用的代码:

self.columns = json["columns"].dictionary?.map { 
(key, value) -> (String, String) in
            return (key, value.stringValue)
}

然而,这会产生编译器错误:

  

' inout JSON'不可转换为' JSON'

我应该补充一点,这是一个非常大的JSON数据的一部分,这是唯一导致问题的。

任何线索都会受到最高的评价,我有点困在这一条线上。

1 个答案:

答案 0 :(得分:0)

迈克尔,我解析JSON与例程,不禁认为它比你的更简单,但它的工作原理:) filesQ.enqueue本质上是一个数组,它添加了我想要的字段。

func jsonParser(json2parse: AnyObject, field2file: String) -> Int {

    if (json2parse is NSDictionary) {
        for (key,value) in json2parse as! NSDictionary {
            switch (value) {
            case is NSDictionary:
                self.jsonParser(value as! NSDictionary, field2file: field2file)
                break
            case is NSArray:
                self.jsonParseArray(value as! NSArray, field2file: field2file)
                break
            case is NSString:
                parsedJson[key as! String] = value
                if (key as! String == field2file) {
                    let file2file = self.parsedJson[field2file] as? String
                    filesQ.enqueue("ignore", theFile: file2file!)
                }
                break
            default:
                break
            }
        }
    }
    return(filesQ.qcount())
}

func jsonParseArray(json2parse: AnyObject, field2file: String) {
    for (item) in json2parse as! NSArray {
        self.jsonParser(item, field2file: field2file)
    }
}

如果你设法改进它,请寄回给我一份!