Swift:JSON 解析未显示在 UILabel 中,但可以使用 Alamofire 在输出窗口中看到
Posted
技术标签:
【中文标题】Swift:JSON 解析未显示在 UILabel 中,但可以使用 Alamofire 在输出窗口中看到【英文标题】:Swift: JSON parsing not showing up in UILabel but can see in output window using Alamofire 【发布时间】:2018-07-03 08:28:31 【问题描述】:我是编码新手,似乎没有向UILabel
显示每日报价。
使用http://quotes.rest/qod.json
输出控制台正在显示结果,但 UILabel
中没有任何内容。
任何帮助是极大的赞赏。
以下是来自网站的 JSON 格式:
"success":
"total": 1
,
"contents":
"quotes": [
"quote": "You make a living by what you earn",
"length": "69",
"author": "Winston Churchill",
"tags": [
"inspire"
],
"category": "inspire",
"id": "XZiOy4u9_g4Zmt7EdyxSIgeF"
],
"copyright": "2017-19 theysaidso.com"
我用来解析上述 JSON 的 Swift 代码是:
import Alamofire
import SwiftyJSON
class DailyQuotes
private var _quotes: String!
private var _author: String!
var quotes: String
if _quotes == nil
_quotes = ""
return _quotes
/// Downloading Current Weather Data
func downloadQuotes(completed: @escaping DownloadComplete)
Alamofire.request(QuotesDaily).responseJSON
(response) in
let result = response.result
print(result.value)
let json = JSON(result.value!)
self._quotes = json["contents"]["quotes"]["quote"].stringValue
completed()
在ViewConrtroller.swift
:
func updateQuotesUI()
quoteLabel.text = dailyQuotes.quotes
【问题讨论】:
【参考方案1】:引号是一个数组
let arr = json["contents"]["quotes"].arrayValue
self._quotes = arr[0]["quote"].stringValue
【讨论】:
非常感谢老板 :)以上是关于Swift:JSON 解析未显示在 UILabel 中,但可以使用 Alamofire 在输出窗口中看到的主要内容,如果未能解决你的问题,请参考以下文章
swift 4 Alamofire 解析数据并在 UILabel 上显示?
Json 解析错误:在 Swift iOS 中使用未声明的类型“Foundation”
JSON数据未在swift3中使用Alamofire进行解析
使用未解析的标识符 'json' (Swift 3) (Alamofire)