【问题标题】:How to turn my JSON result into an array or object如何将我的 JSON 结果转换为数组或对象
【发布时间】:2017-06-06 17:53:03
【问题描述】:

我一直在到处寻找,但找不到正确的答案。我收到具有以下结构的 Json 结果

    {
    result =     {
        "2ab5a003-0120-4c01-80f2-a237dcf4ba14" =         {
            icon = garden;
            id = "2ab5a003-0120-4c01-80f2-a237dcf4ba14";
            index = 1;
            name = "Tafel hoek";
            parent = "855113f1-f488-4223-b675-2f01270f573e";
        };
        "2afd6093-ca6d-4e52-aaca-336ab76ea454" =         {
            icon = default;
            id = "2afd6093-ca6d-4e52-aaca-336ab76ea454";
            index = 11;
            name = Badkamer;
            parent = "9919ee1e-ffbc-480b-bc4b-77fb047e9e68";
        }; 
};
    status = 200;
}

因为我不知道结果中的第一个键,所以我无法获得单独的项目。有没有人可以帮助我?提前致谢

我的代码是:

{ print("错误:") 打印(错误!)

        } else {  // no error


            if let urlContent = data {  // 3

                do {  // 4

                    let json = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject

                    print(json)


                } catch {

                    print("JSON processing failed")

                }  // end 4 do

            }  // end 3 let urlContent

        }  // end 2 if error}

【问题讨论】:

    标签: json swift3 ios10 xcode8.2


    【解决方案1】:

    由于您有关键字result 的字典,因此您可以照常枚举它:

    if let result = json["result"] as? [String:[String:Any]] {
        for (key, value) in result {
           let name = value["name"] as! String
           let index = value["index"] as! Int
           print (key, name, index)
        }
    }
    

    【讨论】:

    • 感谢您的快速回答。但是,如果我使用该代码,我会得到这样的备注:对于名称和索引“类型‘任何’没有下标成员”
    【解决方案2】:

    您能否发布您的代码,我认为这不是有效的 json 格式,并告诉我您在哪里难以解析。忽略该键并照常尝试

    【讨论】:

    • 在这里查看我的代码,我在原始问题中发布了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多