Konvertieren von Json-string zu Json-Objekt in Swift 4
Ich versuche zum konvertieren von JSON-string in ein JSON-Objekt, aber nach JSONSerialization
die Ausgabe ist nil
im JSON-Format.
Antwort-String:
[{\"form_id\":3465,\"canonical_name\":\"df_SAWERQ\",\"form_name\":\"Activity 4 with Images\",\"form_desc\":null}]
Ich versuche zu konvertieren, diese Zeichenfolge mit meinem folgenden code:
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")
- hast du Hinzugefügt die alamofire pod. google.com/...
- Ja ich installiert Alamofire Pod
- Verwenden Sie eine
do ... catch
statt und drucken Sie den Fehler. Es wird Ihnen vielleicht sagen, was falsch ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass Sie dachte, Ihre jsonString ist ein Wörterbuch. Das ist es nicht.
Es ist ein array von Wörterbüchern.
In rohen json-strings, arrays beginnen mit
[
- und Wörterbücher beginnen mit{
.Ich habe Ihre json-string mit dem folgenden code :
und ich erhalte die Ausgabe :
let form_name = jsonArray[0]["form_name"] as? String
und erhalten Sie die Ausgabe.Mit
JSONSerialization
immer das Gefühl unSwifty und unhandlich, aber es ist noch mehr mit der Ankunft vonCodable
im Swift 4. Wenn Sie mit einer[String:Any]
vor eine einfachestruct
wird es ... weh. Schauen Sie sich diese in einen Spielplatz:Mit minimalem Aufwand die Bearbeitung dieser werden sich eine ganze Menge mehr bequem. Und Sie erhalten eine Menge mehr Informationen, wenn Ihr JSON nicht richtig analysieren.
Ich habe versucht, die Lösungen hier, und wie? [String:AnyObject] für mich gearbeitet: