2016-05-11 2 views
2

У меня есть массив json в строчном формате, но по какой-то причине я не могу преобразовать его в массив JSON с SwiftyJSON. Это может иметь какое-то отношение к структуре json. Как мне это сделать?Как преобразовать строку в JSON Array в Swift с SwiftyJSON?

Вот строка

[{"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

вы можете объяснить полный исходный код? –

+0

Это полный источник. jsonString = json сверху. –

ответ

6

Вы должны бросить свои данные в массив, как таким образом:

if let arr = (data as? JSON)?.array { 
// do something with your array 
} 
+0

Что такое 'data'? наша строка? –

+1

да, ваши данные json в вашем случае. – ridvankucuk

3

Вы можете сделать так :

let json = JSON(jsonString) 
if let array = json?.array { 
    // do something with array 
} 
0

Законченное это сделать:

if let jsonString = json["Data"].string!.dataUsingEncoding(NSUTF8StringEncoding){ 

      let json = JSON(data: jsonString) 
      print(json[0]) 

} 
4

Вы можете использовать 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) 
} 

Edit:Swift 3

if let dataFromString = jsonString?.data(using: String.Encoding.utf8, allowLossyConversion: false) { 
    let json = JSON(data: dataFromString)  
} 
0

Моя проблема решена с помощью этого

let objectData = responseString!.dataUsingEncoding(NSUTF8StringEncoding) 
let json = try NSJSONSerialization.JSONObjectWithData(objectData!, options: NSJSONReadingOptions.MutableContainers) 
let myjson = JSON(json) 
Смежные вопросы