我有一个看起来像这样的Web服务

[
{
"id_test" : "1",
"title":"test1"
},
{
"id_test" : "2",
"title":"test2"
},{
"id_test" : "3",
"title":"test3"
},
]


我使用以下代码读取程序中的json:

func downloadJsonWithUrl()
{
    let url = URL(string:"weserviceurl")

    let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
        if error != nil
        {
            print("Error")
        }
        else
        {
            if let content = data
            {
                do
                {
                    let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
                   print(myJson)
                }
                catch
                {
                }
            }
        }
    }
    task.resume()
}


我的问题是,目前在序列化下面使用此代码:

if let info = myJson as? NSArray
{
    if let categories = info["title"]
    {
        print(categories)
    }
}


不起作用。它返回空。为什么?

最佳答案

尝试这个

func downloadJsonWithUrl() {
  let url = URL(string:"link")

  let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
        if error != nil {
            print("Error")
        } else {
            if let content = data {
                do {
                    let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as! [AnyObject]
                    var categories: [String] = []

                    for item in myJson {
                        categories.append(item["title"] as! String)
                    }
                    print(categories)
                } catch {
                    print(error)
                }
            }
        }
    }
    task.resume()
}

07-24 09:37
查看更多