在Swift中的文本视图中显示JSON数据

时间:2016-08-08 11:39:00

标签: swift swift2 uitextview

我收到像这样的服务器的响应

[{

    "images":[{
       "title_de":"sdfs",
       "title_it":"dsdfs",
       "title_fr":"dfsf",
       "approved":"true",
       "title_ru":"sdsf",
       "title_ko":"sdfs",
       "title_jp":"sfsdf",
       "title_es":"sdfs",
       "title_pt":"dfs",
       "folder_id":29,
       "title_en":"title image",
       "title_hi":"sdfss",
       "image_used_count":"0",
       "updatedtime":"1470641760",
       "folder_empty":"false",
       "id":115,
       "is_folder":"false"
   },

   {
       "title_de":"tests Ashdod",
       "title_it":"test cv",
       "title_fr":"tests Asgard",
       "approved":"true",
       "title_ru":"testvxcv",
       "title_ko":"testvcxv",
       "title_jp":"tests cv",
       "title_es":"testvcxv",
       "title_pt":"test cox",
       "folder_id":19,
       "title_en":"testsds",
       "title_hi":"testvxcv",
       "image_used_count":"0",
       "updatedtime":"1470401264",
       "folder_empty":"false",
       "id":99,
       "is_folder":"false"
   }]
}]

现在我想在文本视图中显示此响应,这是我的代码

self.tv_response.text = String(format:"%@", JSON as! String )

但收到错误

  

无法转换类型' __ NSCFArray' (0x1025a8ae0)到' NSString' (0x101c13b20)。

我也试试

self.tv_response.text = NSString(format:"%@", JSON as! String )

但不工作请帮帮我......

3 个答案:

答案 0 :(得分:4)

您的回复是array,因此您无法将其直接转换为string

self.tv_response.text = "\(JSON as! NSArray)"

self.tv_response.text = "\(JSON as! [[String: AnyObject]])"

答案 1 :(得分:1)

你不应该在Swift中使用String(format:_:)。更好的方法是self.tv_response.text = "\(JSON)"。这使用 String Interpolation ,可以方便地从任何类型的值中创建一个字符串。

但是,如果您必须使用String(format:_:)执行此操作,则可以执行以下操作:self.tv_response.text = String(format:"%@", JSON)

答案 2 :(得分:-2)

NSString(format:"%@", JSON as! String )

这里的JSON文件不是String文件,而是一个Array。 你打开它(!)。所以使用

String(format:"%@", JSON)

或者

self.tv_response.text = "\(JSON)"