2017-05-04 9 views
-2

meine api erwartet diese Daten zu erhalten durch Array von Wörterbüchern und seine adaequat und es ist speichert in Data Typ Variable JSON-Daten in unten stehende FormularConvert Array von Wörterbüchern zu JSON-Format

{ 
    "user_contacts" : [ 
    { 
     "friend_list" : "+928885555512", 
     "user_id" : "1" 
    }, 
    { 
     "friend_list" : "+925555648583", 
     "user_id" : "1" 
    }, 
    { 
     "friend_list" : "+925555228243", 
     "user_id" : "1" 
    } 
    ] 
} 

i erstellt haben. Als alamofire [String: Any] Parametertyp erfordert, so kann ich diese Daten in gewünschte Format konvertieren müssen, so habe ich versucht, dies:

let my_dict = try JSONSerialization.jsonObject(with: jsonData!, options: []) as! [String: Any] 

aber wenn drucken my_dict vor Aufruf alamofire. es scheint, dass es nicht eine richtige json unten sehen wird ... mit etwas wie folgt aus: __NSArrayI 0x618000271dc0>

["user_contacts": <__NSArrayI 0x618000271dc0>(
{ 
    "friend_list" = "+928885555512"; 
    "user_id" = "1"; 
}, 
{ 
    "friend_list" = "+925555228243"; 
    "user_id" = "1"; 
}, 
{ 
    "friend_list" = "+925554787672"; 
    "user_id" = "1"; 
} 
) 
] 

Wie kann ich diese richtig json Form machen? was mache ich falsch?

Aktualisiert:

let updated_User_No :[String:Any]=["friend_list": self.new_convert_telephone_no,"user_id": user_no]; 

       user_outer_arrary.append(updated_User_No); 

       user_inner_array=["user_contacts": user_outer_arrary] 

es so aussehen werden sollten:

{ 
    "user_contacts" : [ 
    { 
     "friend_list" : "+928885555512", 
     "user_id" : "1" 
    }, 
    { 
     "friend_list" : "+925555648583", 
     "user_id" : "1" 
    } 
    ] 
} 
+0

Sie habe eine serialisierte JSON-Objekt in Swift/iOS. Ich denke, dass Alamofire eine andere Datenstruktur verwendet ;-) Sie müssen die ios native Datenstruktur in die erwartete String-Datenstruktur von alamofire konvertieren: Dies könnte Ihnen helfen: http://stackoverflow.com/questions/6368867/generate-json- string-from-nsdictionary-in-ios – Lepidopteron

+0

thnaks! aber es löst mein Problem nicht. Ich habe bereits JSON Daten, aber es ist Typ Data Variable. Gibt es eine Möglichkeit, Json-Daten im Wörterbuch im [string: any] -Typ zu speichern. – catalyst

+0

user_inner_array ist dieses Array? – KKRocks

Antwort

1

Versuchen Sie folgendes:

Struktur erstellen

let users = ["" : ["user_contacts": [["friend_list":"user_id"],["friend_list3":"user_id3"]]]] 

erstellen Json Objekt

let json = try JSONSerialization.jsonObject(with: data!, options:.prettyPrinted) as? [String : AnyObject] 
+0

Funktioniert nicht. Die gleiche Sache druckt. – catalyst

+0

@KKRocls: funktioniert nicht. Jetzt druckt es: Optional ([AnyHashable ("user_contacts"): <__ NSArrayI 0x610000274600> ( – catalyst

+0

) Können Sie Code für das Speichern dieses Formats eingeben? – KKRocks

1

jsonSerialization Perform wie folgt:

let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? Dictionary<AnyHashable, Any> 
+0

@catalyst versuchen Sie meinen Code. –

Verwandte Themen