2016-10-06 2 views
1

Мне нужно передать данные со следующей структурой в веб-службу.Как создать следующую сложную структуру с использованием словарей?

требуется структура:

{ 
    "Name":"abc", 
    "fatherName":"xyz", 
    "class":{ 
     "id":"1", 
     "className":"MPC", 
     "classDesc":"Maths,Physics,chemistry" 
    }, 
    "classLeader":{ 
     "id":"123", 
     "firstName":"def", 
     "lastName":"ghi", 
     "emailId":"[email protected]" 
    }, 
    "classTeachers":[ 
     { 
     "id":"567894", 
     "firstName":"xxx", 
     "lastName":"V", 
     "emailId":"[email protected]" 
     } 
    ] 
} 

У меня есть отдельные словари для class, classLeader и classTeachers словарей, как это:

class = ["id":"1","className":"MPC","classDesc":"Maths,Physics,chemistry"] 
classLeader = ["id":"123","firstName":"def","lastName":"ghi","emailId":"[email protected]" 

и

classTeacher = ["id":"567894","firstName":"xxx","lastName":"v","emailId":"[email protected]] 

и две строки name и fathername

Я пытался сделать с [string:AnyObject] и передавая свои словари, как anyobject, но я не в состоянии succeed..the выход я получаю это

{ 
    "Name":"abc", 
    "fatherName":"xyz", 
    "class":[ 
     "id":"1", 
     "className":"MPC", 
     "classDesc":"Maths,Physics,chemistry" 
    ], 
    "classLeader":[ 
     "id":"123", 
     "firstName":"def", 
     "lastName":"ghi", 
     "emailId":"[email protected]" 
    ], 
    "classTeachers":[ 
     [ 
     "id":"567894", 
     "firstName":"xxx", 
     "lastName":"V", 
     "emailId":"[email protected]" 
     ] 
    ] 
} 

я не получаю ни малейшего представления, как обрамляют требуется structure.Help меня в этом выпуске.

+0

Какая ошибка возникает? –

+0

проверьте оба jsons .... Я gettin '[' inplace of '{' .. это ошибка –

+0

Это не консоль ошибок, показывающая словарь, используя '[', если вы создаете быстрый родовой словарь. –

ответ

1

Возможно, вам потребуется JsonSerialize данные. Попробуй это.

let clas = ["id":"1","className":"MPC","classDesc":"Maths,Physics,chemistry"] 
let classLeader = ["id":"123","firstName":"def","lastName":"ghi","emailId":"[email protected]"] 
let classTeacher = ["id":"567894","firstName":"xxx","lastName":"v","emailId":"[email protected]"] 

let dict = ["name": "ABC", "fatherName": "XYZ", "class": clas, "classLeader": classLeader, "classTeachers": classTeacher] 

let jsonData = try? NSJSONSerialization.dataWithJSONObject(dict, options: .PrettyPrinted) 
let jsonString = NSString(data: jsonData!, encoding: NSUTF8StringEncoding) 

print(jsonString) 
+0

, но при преобразовании в json .. Я не получаю двойные кавычки –

+0

Отредактировано для отражения того же – Mathews