我得到像这样的JSON数组
[
{
"accNo":"8567856",
"ifscCode":"YESB000001"
},
{
"accNo":"85678556786",
"ifscCode":"YESB000001"
}
]
我在json中得到一个没有arrayName的数组。 我尝试在swift 3中解析这个JSON,并使用类型转换它来获取所有数组中的值(使用as?NSArray,NSDictionary,[Array -String,AnyObject - ]等)。但是这一切都失败了。有没有办法在swift中获取数组值
答案 0 :(得分:4)
您可能需要查看SwiftyJSON,但这是使用Foundation的答案。
Swift 4:
let str = """
[
{
"accNo":"8567856",
"ifscCode":"YESB000001"
},
{
"accNo":"85678556786",
"ifscCode":"YESB000001"
}
]
"""
let data = str.data(using: .utf8)!
do {
let json = try JSONSerialization.jsonObject(with: data) as? [[String:String]]
for item in json! {
if let accNo = item["accNo"] {
print(accNo)
}
if let ifscCode = item["ifscCode"] {
print(ifscCode)
}
}
} catch {
print("Error deserializing JSON: \(error)")
}
答案 1 :(得分:0)
使用JSONSerialization将数据转换为字符串字典数组[[String:String]]
。
let str = """
[
{
"accNo":"8567856",
"ifscCode":"YESB000001"
},
{
"accNo":"85678556786",
"ifscCode":"YESB000001"
}
]
"""
let data = str.data(using: .utf8)!
let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as! [[String:String]]
print(json) // [["accNo": "8567856", "ifscCode": "YESB000001"], ["accNo": "85678556786", "ifscCode": "YESB000001"]]