2016-11-08 1 views
0

JSON 문자열을 NSDictionary로 변환하고 데이터를 UTF8로 변환하고 싶습니다.JSON 문자열 UTF8을 NSDictionary로 변환 Swift

override func viewDidLoad() { 
    super.viewDidLoad() 
    let string = "{\"name\":\"Việt NAM\",\"data\":{\"capital\":\"HÀ NỘI\",\"continents\":\"Châu Á\"}}" 
    let dataResult = convertStringToDictionary(text: string) 
    print (dataResult) 
} 



func convertStringToDictionary(text: String) -> [String:AnyObject]? { 
    if let data = text.data(using: String.Encoding.utf8) { 
     do { 
      return try JSONSerialization.jsonObject(with: data, options: []) as? [String:AnyObject] 
     } catch let error as NSError { 
      print(error) 
     } 
    } 
    return nil 
} 

그리고 데이터 인쇄 : AnyObject에서

Optional(["name": Việt NAM, "data": { 
capital = "H\U00c0 N\U1ed8I"; 
continents = "Ch\U00e2u \U00c1";}]) 

데이터 UTF8하지 이 내 코드입니다.

+0

시도 : 당신은 당신이 원하는 키 값을 인쇄 할 수 있습니다 [name,data]

:

print(parseJSON.allKeys) 

는 이러한 키 예를 들어 당신을 제공합니다 [문자열 : 어떤] 더를이 –

+2

데이터를 변환하지 문제는, 바로 지금 사전이 인쇄됩니다. 실제 사전 값에 액세스하면 모든 것이 예상대로됩니다. –

답변

0

이 문제는 사전의 데이터를 key/value에 액세스하는 대신 직접 인쇄하려고 시도하기 때문에 발생합니다. 먼저 모든 사전 키를 인쇄하여 모든 키를 얻고 봅니다.

print("Name: \(parseJSON.value(forKey: "name") as! String)")

관련 문제