How to convert a string into JSON using SwiftyJSON How to convert a string into JSON using SwiftyJSON ios ios

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)!
  1. 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))