首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift : TextView中的Json数据

Swift : TextView中的Json数据
EN

Stack Overflow用户
提问于 2015-06-28 14:30:29
回答 3查看 1.5K关注 0票数 0

我使用Haneke框架从一个站点获取数据。使用Haneke,我还可以从站点获取图像,这些图像可以显示在UIImageView上。现在我想从一个网站上得到一些信息。

我就是这样做的:

代码语言:javascript
复制
 cache.fetch(URL: URL).onSuccess { JSON in
            println(JSON.dictionary?["index"])

它把“索引”里的所有数据都打印出来了。

现在,我希望“索引”中的所有数据都应该显示在UITextView上。

代码语言:javascript
复制
  self.textView.text = JSON.dictionary["index"]

但不起作用。我知道错误:

无法将“AnyObject”类型的值分配给“String”类型的值!

我得拆开它还是?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-29 17:45:09

最后,输出JSON文本的所有记录。这个结构是一组字典。文本的格式非常简单(键和值之间有两个制表符)。

代码语言:javascript
复制
  cache.fetch(URL: url).onSuccess { JSON in
    if let index = JSON.dictionary?["index"] as? [Dictionary<String,String>] {
      var resultString = ""
      for anItem in index {
        for (key, value) in anItem {
          resultString += "\(key)\t\t\(value)\n"
        }
        resultString += "\n\n"
      }
      self.textView.text = resultString
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2015-06-28 14:41:06

编译器不知道字典项的类型。如果您知道它总是一个字符串,则从AnyObject强制向下转换到String

代码语言:javascript
复制
self.textView.text = JSON.dictionary["index"] as! String
票数 0
EN

Stack Overflow用户

发布于 2015-06-28 15:08:14

正如我们已经发现的,JSON.dictionary["index"]是一个数组,这是一个安全的语法,假设数组只包含一个项

代码语言:javascript
复制
if let indexTextArray = JSON.dictionary?["index"] as? [String] {
  if !indexTextArray.isEmpty {
      self.textView.text = indexTextArray.first!
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31100935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档