使用 SwiftyJSON(和 Alamofire)解析 JSON 值
Posted
技术标签:
【中文标题】使用 SwiftyJSON(和 Alamofire)解析 JSON 值【英文标题】:Parsing JSON value with SwiftyJSON (and Alamofire) 【发布时间】:2015-01-05 23:24:05 【问题描述】:我正在尝试从我正在测试的 REST Web 服务中解析单个值。 我了解如何拨打电话,并在“输出”窗口中看到 JSON 响应。
let request = Alamofire.request(.GET, "http://IP:PORT/jsonTest", parameters: ["s": "Ping?"])
.responseJSON(_,_,data,_) in
var json = JSON(data!)
println(json)
控制台输出显示:
"NewDataSet":[
"Table1":[
"Column-A":"FirstA",
"Column-B":"FirstB"
,
"Column-A":"SecondA",
"Column-B":"SecondB"
,
"Column-A":"ThirdA",
"Column-B":"ThirdB"
]
]
我现在想做的是仅显示 Column-A 中的第一个值 - 在本例中为“FirstA”。
我一直在尝试使用这样的代码,但到目前为止我没有得到任何结果......
println(json[0][0]["Column-A"].stringValue)
任何指针都非常感谢!
【问题讨论】:
您有一个对象,其中包含一个名为“NewDataSet”的条目。该条目是一个包含对象的数组。数组的第一个元素包含一个具有名为“Tabel1”的元素的对象。该元素是一个数组。数组的第一个元素是一个对象,包含一个名为“Column-A”的元素。您似乎忽略了除最后一个之外的所有对象。 【参考方案1】:json["NewDataSet"][0]["Table1"][0]["Column-A"].stringValue
这就是你想要的。这是因为您的 json 以字典开头,格式为字典>数组>字典>数组>字典。请注意,json 字典用 : , : 表示,而数组用 [ , ] 表示。
【讨论】:
以上是关于使用 SwiftyJSON(和 Alamofire)解析 JSON 值的主要内容,如果未能解决你的问题,请参考以下文章
SwiftyJson 和 Alamofire 使用的解码结构
如何使用 Alamofire 和 SwiftyJSON 正确解析 JSON
如何将 RxSwift 与 AlamoFire 和 SwiftyJSON 一起使用?
无法使用“((Any))”类型的参数列表调用“JSON” - 使用 AlamoFire 和 SwiftyJSON