Analyser un object renvoyé en JSON depuis l'API dans swift

J'ai reçu un object de réponse (res) dans swift à partir de l' REST API . C'est de type. __NSArrayM . Il contient une string de format JSON que je veux parsingr.

 { JsonResult = "[ { \"IsAuth\":\"true\" } ]"; } 

C'est une longue string JSON et je l'ai raccourcie pour plus de simplicité.

Pour parsingr un file json, l'object doit être de type Dictionnaire, mais je ne peux pas y __NSArrayM l'object de type __NSArrayM .

J'ai beaucoup cherché mais je n'arrive toujours pas à comprendre cette string JSON.

Supplémentaire: Quel que soit l'object que j'essaie de lancer l'object de réponse. J'ai l'erreur –

Impossible de convertir la valeur de type '__NSArrayM' (0x107e86c30) en 'NSData' (0x107e86168) ou le type de données dans lequel je suis entré.

Faisons cela étape par étape.

Vous dites que vous avez un object nommé "res" qui est de type __NSArrayM et qui contient cette chose:

 { JsonResult = "[ { \"IsAuth\":\"true\" } ]"; } 

Cela signifie que vous avez déjà converti le JSON en un object, à savoir un NSArray.

Dans ce tableau que nous ne voyons pas , ce que vous nous montrez est un dictionary (que nous nommerons "dict") avec sa valeur étant une string qui représente elle-même un autre object JSON .

Obtenons la valeur en utilisant la key:

 if let value = dict["JsonResult"] as? Ssortingng { print(value) } 

Maintenant, "value" est censé être "[ { \"IsAuth\":\"true\" } ]" .

Ceci est une string qui représente JSON. Pour décoder le JSON, nous devons d'abord faire la string en données puis nous pouvons décoder:

 if let data = value.data(using: .utf8) { if let content = try? JSONSerialization.jsonObject(with: data, options: []), let array = content as? [[Ssortingng: Any]] { print(array) } }