2017-12-26 10 views
-4

사전 배열을 구현하려고하지만 예상과 다른 결과가 나옵니다.사전 배열 만들기 iOS Swift

var MemberArray = [[String: Any]]() 

let dict = ["member_status":"1", 
      "member_id": memid , 
      "membership_number": memshpid, 
      "name": memname, 
      "mobile":memno , 
      "billing":"1"] as NSDictionary 

MemberArray.append(dict as! [String : Any]) 

내가이 있어야합니다 :

[ 
    { 
"member_status": 1, 
"member_id": 3, 
"membership_number": "GI99010286", 
"name": "Thomas", 
"mobile": "9873684678", 
"billing": 0 
    }, 
    { 
"member_status": 1, 
"member_id": 5, 
"membership_number": "GI99010144", 
"name": "Raj", 
"mobile": "9873684678", 
"billing": 1 
    } 
] 

을하지만, 나는 다음을 얻을 나는 추가 작업을 배열, 사전을 만들고 실행하는 다음 코드에서

:

[ 
    [ 
"member_status": 1, 
"member_id": 3, 
"membership_number": "GI99010286", 
"name": "Thomas", 
"mobile": "9873684678", 
"billing": 0 
], 
[ 
"member_status": 1, 
"member_id": 5, 
"membership_number": "GI99010144", 
"name": "Raj", 
"mobile": "9873684678", 
"billing": 1 
    ]] 

목표를 달성하려면 어떻게해야합니까?

+0

JSON 형식이 필요합니까? –

+0

올바른 동작을 얻고 있습니다. 후자의 인쇄본에는 사전 배열이 있지만 첫 번째 인쇄 예제에서는 JSON 형식의 사전 배열이 있습니다 –

+0

@ReinierMelian 예 JSON 형식 –

답변

3

그 배열을 직렬화해야합니다. 여기 데이터는 해당 배열입니다.

let dataSet = try! JSONSerialization.data(withJSONObject: data, options: JSONSerialization.WritingOptions.prettyPrinted) 
let jsonString = NSString(data: dataSet, encoding: String.Encoding.utf8.rawValue)! 
+0

입니다. 감사합니다! 그것은 효과가 있었다. –

+1

왜 Swift에서 NSString을 사용하고 있습니까? 'String'은 사용하지 않아야합니다. 왜냐하면'String'에는없는 NSString의 기능을 이용하지 않기 때문에, Swift의 네이티브 타입을 고수해야합니다. –

+0

문자열을 사용할 수 있습니다.이 NSString을 문자열 으로 변경했습니다. jsonString = String (data : dataSet, encoding : String.Encoding (rawValue : String.Encoding.utf8.rawValue))! – Malleswari