Swift3不能很好地处理我的JSON文件

Swift3不能很好地处理我的JSON文件,json,xcode,swift3,Json,Xcode,Swift3,我有以下代码: let urlString = "https://str8red.com/jsonoverallleaderboard/" let url = URL(string: urlString) URLSession.shared.dataTask(with:url!) { (data, response, error) in if error != nil { print("there was an error") print(error)

我有以下代码:

let urlString = "https://str8red.com/jsonoverallleaderboard/"

let url = URL(string: urlString)
URLSession.shared.dataTask(with:url!) { (data, response, error) in
    if error != nil {
        print("there was an error")
        print(error)
    } 
    do {  
        let parsedData = try JSONSerialization.jsonObject(with: data!) as! [String:Any]
    } catch let error as NSError {
        print(error)
    }
}        
}.resume()
在“let parsedData”行返回以下错误:

使用的JSON iIam来自网站,格式如下:

[["shanu", "1056"], ["snookro", "828"], ["tingeypa", "709"], ["shaun", "620"], ["chrakers", "506"]]
如果有帮助的话,最后的游戏就是使用JSON并将其映射如下:

players = jsonPlayers.map { Player(name: $0[0], score: $0[1]) }

感谢您的帮助。

您的JSON数据不是
[String:any]
类型。而是
[[String]]

因此,以下内容将完成这项工作:

let parsedData = try JSONSerialization.jsonObject(with: data!) as! [[String]]
但这里有一种解析JSON数据的简便方法

enum JSONError: String, Error {
    case NoData = "ERROR: no data"
    case ConversionFailed = "ERROR: conversion from JSON failed"
}

typealias myJSONObjectType = [[String]]  // change this according to your data type that is in your JSON

func parseJSON(fromPath jsonURLString:String) {
    guard let jsonURL = URL(string: jsonURLString) else {
        print("Error creating an URL from \(jsonURLString)")
        return
    }
    URLSession.shared.dataTask(with: jsonURL) { (data, response, error) in
        do {
            guard let data = data else {
                throw JSONError.NoData
            }
            guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? myJSONObjectType else {
                throw JSONError.ConversionFailed
            }
            print(json)
        } catch let error as JSONError {
            print(error.rawValue)
        } catch let error as NSError {
            print(error.debugDescription)
        }
        }.resume()
}
然后像这样使用它:

object.parseJSON(fromPath: "https://str8red.com/jsonoverallleaderboard/")

这是一个数组,不是字典。字符串数组的数组<代码>[[String]]。或者
[[Any]]
,如果您不确定它们都是字符串。谢谢Eric,我如何在我的swift代码中纠正这一点以使其符合要求?或者我不需要转换为JSON而直接使用它?将
替换为![字符串:任意]
带有
as![[String]]
。(我得走了。如果你迷路了,其他人会很乐意帮忙的。)谢谢埃里克:)如果我被卡住了,没有人帮忙,也许你以后可以成为我的英雄。是弦乐部分让它工作起来的。没有尝试其他部分,但感谢您的帮助:)
object.parseJSON(fromPath: "https://str8red.com/jsonoverallleaderboard/")