Ich bin neu in der iOS Programmierung und habe ein kleines Problem bezüglich JSON Parsing.Swift: Hilfe bezüglich JSON Parsing
"data": [
{
"merchantId": "56",
"timings": [
[
"11:00 AM",
"11:00 PM"
]
],
"tags": [
"dine,north chinese"
],
"offers": [
{
"approvedBy": "56",
"locationId": "56",
"description": "Get 15% Off",
"finePrint": "• Cannot be combined with other offers.",
"audience": "all",
"status": "live",
"createdAt": "2016",
"updatedAt": "2016",
"offerType": "Discount",
"discount": "15",
"maxDiscount": 0,
"id": "56"
},
{
"approvedBy": "56023",
"locationId": "56023",
"description": "Get 25% Off",
"finePrint": "• Cannot be combined with other offers",
"audience": "all",
"status": "live",
"createdAt": "2016",
"updatedAt": "2016",
"hangoutId": "",
"offerType": "PercentDiscount",
"discount": "25",
"amount": 0,
"maxDiscount": 0,
"id": "5623"
},
};
Ich möchte die oben genannten JSON-Daten herunterladen, analysieren und in einem Etikett anzeigen. Ich bin in der Lage zu laden und die Merchantid anzuzeigen, indem Sie den folgenden Code verwendet:
let JSONRespone = response.result.value as? [String:AnyObject]
if JSONRespone != nil {
let datarray = JSONRespone!["data"] as? [[String:AnyObject]]
if datarray != nil {
for data in datarray! {
let anObject = SomeObject()
let merchantId = data["merchantId"] as? String
if merchantId != nil {
anObject.merchantidentity = merchantId!
}
Wenn ich den gleichen Code für die Timings verwenden und Tags, es nichts anzeigt wird. Wenn ich versuche, das Ergebnis in der Konsole anzuzeigen, wird "nil" angezeigt.
Abgesehen davon, wie könnte ich die "Beschreibung" in "Angebote" in drei verschiedenen Etiketten drucken. Ich konnte nur einen von allen drucken. Kann mir bitte jemand helfen, folgendes anzuzeigen. Danke im Voraus.
Ich habe meine Fragen bearbeitet. Können Sie bitte in den Teil schauen, den ich hinzugefügt habe, d. H. "Angebote" Teil, den ich hinzugefügt habe, und mir helfen, wie ich auch damit weiterkam. Vielen Dank. –
'offers' ist ein Array von Wörterbüchern. Nach der Subskription des Arrays müssen Sie das Wörterbuch mit einem Schlüssel (string) für den gewünschten Wert indizieren. 'let offerId: String = Daten [" Angebote "] [0] [" ID "] als? String' – markedwardmurray
Ich habe den obigen Code hinzugefügt und versucht, die App auszuführen. Wenn ich die App starte, stürzt die App ab und ich bekomme eine Fehlermeldung, dass "Wert vom Typ '__NSCFArray' (0x1059a7d68) nicht in 'NSString' (0x106467b48) umgewandelt werden kann".Ich bekomme die gleiche Antwort, wenn ich nach "Tags" suche. –