How to convert NSDictionary to Json String in Swift ( iOS, Xcode )?
34,806
No need to implement this kind of complex logic,
You can simply do this
var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(dictionary, options: NSJSONWritingOptions.PrettyPrinted, error: &error)!
if error == nil {
return NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String
}
and if you want to send it with API to server , no need to even convert it to String
Author by
Rivu Chakraborty
Android Developer, Tech Speaker, Auther, Blogger, Community Organiser. More details: rivu.dev
Updated on December 24, 2021Comments
-
Rivu Chakraborty over 2 years
I'm suffering from the following problem.... My
NSDictionary
is like that :var dic : NSDictionary = [ "level" : [ ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0], ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0], ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0] ] ]
But If I print this,
print(dic); or print(“\(dic)”);
The Out put Is like that :
{ level = ( { column = 0; down = 0; left = 0; right = 0; row = 0; up = 0; }, { column = 1; down = 0; left = 0; right = 0; row = 0; up = 0; }, { column = 2; down = 0; left = 0; right = 0; row = 0; up = 0; }, { column = 0; down = 0; left = 0; right = 0; row = 1; up = 0; }, { column = 1; down = 0; left = 0; right = 0; row = 1; up = 0; }, { column = 2; down = 0; left = 0; right = 0; row = 1; up = 0; } ); }
How Can I get exact Json String? In swift, xcode?
-
Mihir Oza over 8 yearsSimple solution Please Check : stackoverflow.com/a/29628000/3378413
-
-
Rivu Chakraborty over 8 yearsYes. This worked.... Thank you...
-
Nike Kov almost 7 yearsLook also here for swift 3 stackoverflow.com/a/29625483/5790492