如何使用SwiftyJSON将字符串转换为Swift中的JSON数组?

时间:2016-05-11 06:56:09

标签: ios objective-c json swift

我有一个字符串格式的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)

5 个答案:

答案 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)