如何将NSDictionary转换为包含Swift中NSDictionary的json的NSString?

前端之家收集整理的这篇文章主要介绍了如何将NSDictionary转换为包含Swift中NSDictionary的json的NSString?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将NSDictionary转换为包含NSDictionary的 JSON的NSString?我试过但没有成功
  1. //parameters is NSDictionary
  2.  
  3. let jsonData:NSDictionary = NSJSONSerialization.JSONObjectWithData(data!,options:NSJSONReadingOptions.MutableContainers,error: &error) as NSDictionary

我想在swift中将这个NSDictionary Json转换为NSString

您可以使用以下代码
  1. var error: NSError?
  2. var dict: NSDictionary = [
  3. "1": 1,"2": "Two","3": false
  4. ]
  5.  
  6. let data = NSJSONSerialization.dataWithJSONObject(dict,options: NSJSONWritingOptions.PrettyPrinted,error: &error)
  7.  
  8. if let data = data {
  9. let json = NSString(data: data,encoding: NSUTF8StringEncoding)
  10. if let json = json {
  11. println(json)
  12. }
  13. }

给定一个NSDictionary,它被序列化为NSData,然后转换为NSString.

执行转换的代码也可以更简洁地重写为:

斯威夫特3:

  1. do {
  2. let jsonData = try JSONSerialization.data(withJSONObject: data)
  3. if let json = String(data: data,encoding: .utf8) {
  4. print(json)
  5. }
  6. } catch {
  7. print("something went wrong with parsing json")
  8. }

原始答案:

  1. if let data = NSJSONSerialization.dataWithJSONObject(dict,error: &error) {
  2. if let json = NSString(data: data,encoding: NSUTF8StringEncoding) {
  3. println(json)
  4. }
  5. }

请注意,为了使序列化起作用,字典必须包含有效的JSON键和值.

猜你在找的Swift相关文章