Я только что получил лямбда-функцию AWS, работающую так, как я ожидал, но у меня возникают проблемы с анализом ее JSON-ответа.Я использую SwiftyJSON для этого.
Вот мой тестовый код:
let json = JSON(task.result!)
print("SWyJSON: \(json)")
if let jsonDic = json.dictionary {
print("SWyJSON2a: \(jsonDic)")
print("SWyJSON2b: \(String(describing: jsonDic["body"]!))")
if let x = json.dictionary?["body"]?.dictionary {
print("SWyJSON2c: \(String(describing: x["Users"]))")
}
}
SWyJSON: {
"inBound" : "9bf69.....14d5ac4",
"body" : "{\"Users\":[{\"Username\":\"test1\",\"Attributes\":[{\"Name\":\"email\", \"Value\":\"y547170@nidtv.net\"}],\"UserCreateDate\":\"2019-06-03T02:53:03.300Z\", \"UserLastModifiedDate\":\"2019-06-03T02:53:56.580Z\",\"Enabled\":true,\"UserStatus\":\"CONFIRMED\"}]}",
"statusCode" : 200
}
SWyJSON2a: ["inBound": 9bf69.....14d5ac4, "body": {"Users":[{"Username":"test1","Attributes":[ {"Name":"email","Value":"y547170@nidtv.net"}],"UserCreateDate":"2019-06-03T02:53:03.300Z", "UserLastModifiedDate":"2019-06-03T02:53:56.580Z","Enabled":true,"UserStatus":"CONFIRMED"}]}, "statusCode": 200]
SWyJSON2b: {"Users":[{"Username":"test1","Attributes":[{"Name":"email","Value":"y549860@nwytg.net"}], "UserCreateDate":"2019-06-03T02:53:03.300Z","UserLastModifiedDate":"2019-06-03T02:53:56.580Z", "Enabled":true,"UserStatus":"CONFIRMED"}]}
Мой вопрос: что не так в коде, так что последний отпечаток не дает никакого результата?
SWyJSON, SWyJSON2a и SWyJSON2b показывают некоторый результат в консоли отладки Xcode, как я ожидаю, но не SWyJSON2c.Где бы я ожидал что-то вроде:
"Users":[{"Username":"test1","Attributes":[{"Name":"email","Value":"y549860@nwytg.net"}], "UserCreateDate":"2019-06-03T02:53:03.300Z","UserLastModifiedDate":"2019-06-03T02:53:56.580Z", "Enabled":true,"UserStatus":"CONFIRMED"}]
или:
[{"Username":"test1","Attributes":[{"Name":"email","Value":"y549860@nwytg.net"}], "UserCreateDate":"2019-06-03T02:53:03.300Z","UserLastModifiedDate":"2019-06-03T02:53:56.580Z", "Enabled":true,"UserStatus":"CONFIRMED"}]