JSON wird nicht richtig analysiert
Posted: 19 Jan 2025, 21:10
Ich habe versucht, eine JSON-Datei zu analysieren, und wenn ich sie gemäß der Syntax analysiere, erhalte ich eine Fehlermeldung, die die Zeichenfolge nicht in ein Wörterbuch-Array ändern kann. Wenn ich das Problem jedoch behebe, wird Null generiert . Kann jemand eine Meinung dazu sagen?
Wenn ich die doppelten Klammern aus „String: Any“ entferne, läuft es einwandfrei, liefert aber keinen Wert außer Null.Und wenn ich auf diese Weise fortfahre, wird die if-Anweisung übersprungen und nur ausgegeben:
"bad json".
Was mache ich hier falsch?
Code: Select all
func jsonFour() {
let string = "[{\"address\": 7023000630,\"reportStatus\": \"Retrieved\",\"currentLocation\": {\"latitude\": 29.8529, \"longitude\": 73.99332,\"timestamp\": \"2019-01-07T16:35:25.079+05:30\"} }, {\"address\": 7290098339, \"reportStatus\": \"Retrieved\", \"currentLocation\": {\"latitude\": 21.628569, \"longitude\": 72.996956,\"timestamp\": \"2019-01-07T16:35:25.079+05:30\" } } ]"
let data = string.data(using: .utf8)!
do {
if let jsonArray = try JSONSerialization.jsonObject(with: data, options : JSONSerialization.ReadingOptions.mutableContainers) as? [[ String : Any ]]
{
print(jsonArray) // use the json here
let address = jsonArray["address"] as! [[String:Any]]
if let timestamp = address["timestamp"] as? [String]{print(timestamp)}
} else {
print("bad json")
}
} catch let error as NSError {
print(error)
}
}
"bad json".
Was mache ich hier falsch?