Convertir la chaîne Json Json objet Swift 4
J'ai essayer de convertir la chaîne JSON à un objet JSON, mais après JSONSerialization
la sortie est nil
en JSON.
Chaîne De Réponse:
[{\"form_id\":3465,\"canonical_name\":\"df_SAWERQ\",\"form_name\":\"Activity 4 with Images\",\"form_desc\":null}]
J'essaie de convertir cette chaîne avec mon code ci-dessous:
let jsonString = response.result.value
let data: Data? = jsonString?.data(using: .utf8)
let json = (try? JSONSerialization.jsonObject(with: data, options: [])) as? [String:AnyObject]
print(json ?? "Empty Data")
- avez-vous ajouté le alamofire pod. google.com/...
- Oui j'ai installé Alamofire Pod
- Utiliser un
do ... catch
au lieu et à l'impression de l'erreur. Il va probablement vous dire quel est le problème.
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous pensiez que votre jsonString est un dictionnaire. Il n'est pas.
C'est un tableau de dictionnaires.
Dans les premières chaînes json, tableaux de commencer avec
[
et les dictionnaires de commencer avec{
.J'ai utilisé votre chaîne json avec le code ci-dessous :
et j'en suis sortie :
let form_name = jsonArray[0]["form_name"] as? String
et vous obtiendrez la sortie.À l'aide de
JSONSerialization
toujours senti unSwifty et difficile à manier, mais il l'est encore plus avec l'arrivée deCodable
dans Swift 4. Si vous maniez un[String:Any]
en face d'un simplestruct
il va ... mal. Découvrez ce dans une aire de Jeux:Avec un minimum d'effort de la manipulation de ce sentirez beaucoup plus à l'aise. Et vous êtes donné beaucoup plus d'informations si votre JSON ne pas analyser correctement.
J'ai essayé les solutions ici, et comme? [Chaîne:AnyObject] fonctionné pour moi:
J'ai utilisé le code ci-dessous, et il fonctionne très bien pour moi. :
laisser jsonText = "{\"userName\":\"Bhavsang\"}"
var dictonary:NSDictionary?
Cela a fonctionné pour moi
}
laisser str = "{\"name\":\"James\"}"
laisser dict = convertToDictionary(texte: str)