在Swift 4中解析JSON的最简单方法是什么?

时间:2018-09-02 16:39:01

标签: json swift

我编写了以下函数,以使用Alamofire在macOS应用中执行GET请求:

func getContent(room: String) -> String {
let scriptUrl = "https://klipped.in/api/\(room)"
Alamofire.request(scriptUrl).responseJSON { response in        
    if let json = response.result.value {
        print("\(json)") // serialized json response
    }
}
return "This should return the value of \"content\" in the json response"
}

我现在想以最有效的方式解析json。我搜寻了各种方法,但是我发现的每个解决方案似乎都过于复杂,或者由于类型问题而无法运行。

Swift中是否有一种简单的方法来访问JSON内的值而无需为每个响应创建Struct?我正在考虑以下方面的事情:

get-json-value(json, "content")

这将返回json内的“ content”的字符串值,如果不存在则返回null。

1 个答案:

答案 0 :(得分:0)

在使用Alamofire时在Swift 4中解析JSON的最简单方法是使用

getRoomData = JSON as NSDictionary
str = getRoomData["content"] as String

查看示例: AlamoFire GET api request not working as expected

一种更好的方法是使用Swifty JSON库:

let json = JSON(responseData.result.value!)
let roomContent = json["content"].string