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

Posted

技术标签:

【中文标题】SwiftyJSON - \'inout JSON\' 不能转换为 \'JSON\'【英文标题】:SwiftyJSON - 'inout JSON' is not convertible to 'JSON'SwiftyJSON - 'inout JSON' 不能转换为 'JSON' 【发布时间】:2016-02-24 09:59:34 【问题描述】:

我遇到了一个 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 数据的一部分,这是唯一引起问题的一个。

任何线索都将不胜感激,我有点坚持这个。

【问题讨论】:

Michal,您是否查看了它试图解析的内容以弄清楚为什么它无法解析它? print("self.columns") 并发布。它显然不符合 JSON 对象,那么它是什么? @user3069232 这是从对该值的请求中返回的内容:"columns": "created_at": "DESC", "id": "DESC" 可能应该将其添加到我的原始帖子中,我现在就这样做。 【参考方案1】:

Michael,我用例程解析 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)
    

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

【讨论】:

以上是关于SwiftyJSON - 'inout JSON' 不能转换为 'JSON'的主要内容,如果未能解决你的问题,请参考以下文章

SwiftyJSON 添加 JSON 对象数组

JSON序列化到SwiftyJSON

使用 SwiftyJSON 循环遍历 JSON

使用 SwiftyJSON 解析 JSON

无法使用 SwiftyJSON 访问 JSON 数据

使用 SwiftyJSON 解析 json