我有一个字符串格式的json数组,但由于某种原因我无法使用SwiftyJSON将其转换为JSON数组。它可能与json结构有关。我该怎么做?
这是字符串
[{"Disabled":false,"Group":null,"Selected":false,"Text":"1","Value":"1"},{"Disabled":false,"Group":null,"Selected":false,"Text":"2","Value":"2"},{"Disabled":false,"Group":null,"Selected":false,"Text":"3","Value":"3"},{"Disabled":false,"Group":null,"Selected":false,"Text":"4","Value":"4"},{"Disabled":false,"Group":null,"Selected":false,"Text":"5","Value":"5"}]
这是我的代码:
let json = JSON(jsonString)
答案 0 :(得分:6)
您应该像这样将数据转换为数组:
if let arr = (data as? JSON)?.array {
// do something with your array
}
答案 1 :(得分:6)
您可以使用SwiftyJSON,然后就可以获得JSON
,如下所示。
import SwiftyJSON
let json = JSON(data: dataFromNetworking)
let json = JSON(jsonObject)
if let dataFromString = jsonString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
let json = JSON(data: dataFromString)
}
编辑: Swift 3
if let dataFromString = jsonString?.data(using: String.Encoding.utf8, allowLossyConversion: false) {
let json = JSON(data: dataFromString)
}
答案 2 :(得分:3)
你可以这样做:
let json = JSON(jsonString)
if let array = json?.array {
// do something with array
}
答案 3 :(得分:0)
结束这样做:
if let jsonString = json["Data"].string!.dataUsingEncoding(NSUTF8StringEncoding){
let json = JSON(data: jsonString)
print(json[0])
}
答案 4 :(得分:0)
使用此
解决了我的问题 let objectData = responseString!.dataUsingEncoding(NSUTF8StringEncoding)
let json = try NSJSONSerialization.JSONObjectWithData(objectData!, options: NSJSONReadingOptions.MutableContainers)
let myjson = JSON(json)