如何使用 SwiftyJSON 解析这种 JSON API
how to parse this kind of JSON API by using SwiftyJSON
一个项目使用 Swift 并使用名为 SwiftyJSON
的库解析 JSON API
[{"A":1,
"B":"2",
"C":"3",
"D":"4"
},
{"A2":12,
"B3":"23",
"C4":"34",
"D5":"45"
}]
↑这是API 这是代码↓
import UIKit
import SwiftyJSON
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
parseJSON()
}
func parseJSON(){
let path:String=NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json")as String!
let jsonData=NSData(contentsOfFile: path) as NSData!
let readableJSON=JSON(data:jsonData, options:NSJSONReadingOptions.MutableContainers, error:nil)
var number=readableJSON["A"]
NSLog("\(number)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
出了点问题,API 的方法不是字典。
无论如何我都必须解析 JSON 所以有人能告诉我解析 API 的方法吗?
如果您对该项目有任何其他方法或替代方案,请教我。
感谢合作
您的 JSON 不代表字典,而是 字典的数组。
因此
let firstDictionary = readableJSON[0]
var number = firstDictionary["A"]
可能会奏效。
json 的外部对象是一个数组([]
-> 数组,{}
-> 字典)。
请求的字典是数组的第一个元素。
let path = NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json")!
let jsonData = NSData(contentsOfFile: path)!
let readableJSON = JSON(data:jsonData, options:NSJSONReadingOptions.MutableContainers, error:nil)
if let number = readableJSON[0].dictionary?["A"] {
println(number)
}
一个项目使用 Swift 并使用名为 SwiftyJSON
的库解析 JSON API[{"A":1, "B":"2", "C":"3", "D":"4" }, {"A2":12, "B3":"23", "C4":"34", "D5":"45" }]
↑这是API 这是代码↓
import UIKit
import SwiftyJSON
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
parseJSON()
}
func parseJSON(){
let path:String=NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json")as String!
let jsonData=NSData(contentsOfFile: path) as NSData!
let readableJSON=JSON(data:jsonData, options:NSJSONReadingOptions.MutableContainers, error:nil)
var number=readableJSON["A"]
NSLog("\(number)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
出了点问题,API 的方法不是字典。
无论如何我都必须解析 JSON 所以有人能告诉我解析 API 的方法吗?
如果您对该项目有任何其他方法或替代方案,请教我。
感谢合作
您的 JSON 不代表字典,而是 字典的数组。
因此
let firstDictionary = readableJSON[0]
var number = firstDictionary["A"]
可能会奏效。
json 的外部对象是一个数组([]
-> 数组,{}
-> 字典)。
请求的字典是数组的第一个元素。
let path = NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json")!
let jsonData = NSData(contentsOfFile: path)!
let readableJSON = JSON(data:jsonData, options:NSJSONReadingOptions.MutableContainers, error:nil)
if let number = readableJSON[0].dictionary?["A"] {
println(number)
}