使用SwiftyJSON解析JSON响应

使用SwiftyJSON解析JSON响应,json,swift,aws-api-gateway,aws-amplify,swifty-json,Json,Swift,Aws Api Gateway,Aws Amplify,Swifty Json,我有以下代码,我正在尝试使用SwiftyJSON获取值: let string = """ {"ResponseMetadata": {"RequestId": "b5d6ecad-e050-4d1f-8429-74a2775a6fe9", "HTTPStatusCode": 200, "HTTPHeaders": {"x-amzn-

我有以下代码,我正在尝试使用SwiftyJSON获取值:

let string =
    """
        {"ResponseMetadata": {"RequestId": "b5d6ecad-e050-4d1f-8429-74a2775a6fe9", "HTTPStatusCode": 200, "HTTPHeaders": {"x-amzn-requestid": "b5d6ecad-e050-4d1f-8429-74a2775a6fe9", "content-type": "application/json", "content-length": "271", "date": "Tue, 22 Dec 2020 22:45:17 GMT"}, "RetryAttempts": 0}, "numberOfRecordsUpdated": 0, "records": [[{"stringValue": "6998DFFE-A9CF-4BEA-86AD-C356BB865E27"}, {"stringValue": "david.craine@yahoo.com"}, {"stringValue": "David"}, {"stringValue": "Craine"}, {"stringValue": "dcraine"}, {"stringValue": "vendor1"}, {"stringValue": "vendor1_werw8"}]]}
    """
    
let body = JSON(string)
print(">>>>>>>>> \(body["records"])")
这将为body[“records”]返回null


我使用验证了此响应,因此我假设它的格式正确。有人能帮忙吗?

试着换一行:

let body = JSON(string)
并调用
JSON
init(parseJSON:)
初始值设定项,该初始值设定项将
字符串作为参数,如下所示:

let body = JSON(parseJSON: string)

“然而,当我尝试获取任何项目(例如“记录”)时,它会返回null”以及您是如何准确地尝试这样做的?假设所述字符串的JSON对象称为body,我使用body[“records”],我建议您使用Swift的Codable&JSONDecoder,这将允许您在不使用任何第三方框架的情况下解析和创建JSON请尝试将
let body=JSON(string)
替换为
let body=JSON(parseJSON:string)
。谢谢@gcharita,一切正常!如果你把答案贴出来,我会记为正确。