How to convert a string into JSON using SwiftyJSON
Actually, there was a built-in function in SwifyJSON called parse
/** Create a JSON from JSON string- parameter string: Normal json string like '{"a":"b"}'- returns: The created JSON*/public static func parse(string:String) -> JSON { return string.dataUsingEncoding(NSUTF8StringEncoding) .flatMap({JSON(data: $0)}) ?? JSON(NSNull())}
Note that
var json = JSON.parse(stringJSON)
its now changed to
var json = JSON.init(parseJSON:stringJSON)
I fix it on this way.
I will use the variable "string" as the variable what contains the JSON.
1.
encode the sting with NSData like this
var encodedString : NSData = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)!
un-encode the string encoded (this may be sound a little bit weird hehehe):
var finalJSON = JSON(data: encodedString)
Then you can do whatever you like with this JSON.
Like get the number of sections in it (this was the real question) with
finalJSON.count
or print(finalJSON[0])
or whatever you like to do.
I'm using as follows:
let yourString = NSMutableString()let dataToConvert = yourString.data(using: String.Encoding.utf8.rawValue)let json = JSON(data: dataToConvert!)print("\nYour string: " + String(describing: json))