解析单个 JSON 元素时遇到问题 (Swift)
Posted
技术标签:
【中文标题】解析单个 JSON 元素时遇到问题 (Swift)【英文标题】:Trouble parsing individual JSON elements (Swift) 【发布时间】:2015-07-01 17:25:42 【问题描述】:我的 JSON 结构如下。我对 Alamofire 和 SwiftyJSON 很陌生。在浏览了文档并修改了好几个小时后,我一直无法弄清楚如何解析这个 JSON 结构中的各个元素。
"transactions":
"transaction": [
"payment_id": 2,
"payment_date": "2015-06-30",
"url": "myurl",
"title": "mytitle",
"sell_id": 4,
"last_update": "2015-06-30",
"inventory_id": 4,
"amount": "30.00",
"item_id": 4682,
"buyer_id": 1
,
"payment_id": 1,
"payment_date": "2015-06-29",
"url": "myurl2",
"title": "mytitle",
"sell_id": 3,
"last_update": "2015-06-29",
"inventory_id": 3,
"amount": "40.00",
"item_id": 1061,
"buyer_id": 1
]
代码:
class func RecentTransactions()
Alamofire.request(.GET, requestURL)
.responseJSON (_, _, jsonData, _) in
println(jsonData!)
let json = JSON(jsonData!)
【问题讨论】:
一个有助于简化 Json 阅读的库。 gist.github.com/Loki-Astari/5d36646cafe9044779eb 【参考方案1】:外面的两个对象是字典,里面的对象是一个数组。
试试这个,它遍历内部数组并打印属性title
和url
的值(字典键有点混乱;-))
class func RecentTransactions()
Alamofire.request(.GET, requestURL)
.responseJSON (_, _, jsonData, _) in
println(jsonData!)
let json = JSON(jsonData!)
let transactions = json["transactions"]
let transaction = transactions["transaction"]
for (index: String, action: JSON) in transaction
println(action["title"])
println(action["url"])
【讨论】:
非常感谢,这有效。是的,它们有点令人困惑,因为我也是 JSON 结构的新手。以上是关于解析单个 JSON 元素时遇到问题 (Swift)的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 Swift 2.0 中的 json 解析数据时出错?