The following code has a detailed comment explaining the conversions between these types (if there are errors in the place also look at the criticism pointed out, thank you!) )
-(void) viewdidload {[Super viewdidload]; /** * nsdictionary | | Nsarray (Nsmutablearray) ==>> nsdata ==>> nsstring (Json): *///nsdictionary *params = [NSDictionary dic tionarywithobjectsandkeys://@ "balance", @ "key",//@ "remaining Balan Ce ", @" label ",//@" ", @" value ",//@" USD "@" CurrencyCode ", nil]; Nsarray *params = @[@ "balance", @ "key", @ "remaining balance", @ "label", @ "", @ "value" @ "USD" @ "CurrencyCode"]; Nserror *error = nil; NSData *jsondata = [nsjsonserialization datawithjsonobject:params options:nsjsonwritingprettyprinted error:& ERROR]; NSString *jsonstring; if ([jsondata length] > 0 && error = nil) {jsonstring = [[NSString alloc] Initwithdata:jsondata Encodin G:nsutf8stringencoding]; NSLog (@ "%@", jsonstring); }else{ NSLog (@ "erroe:%@", error); }/** * NSString (Json): ==>>nsdata ==>> nsdictionary | | Nsarray (Nsmutablearray) *//convert NSString to nsdata nsdata *jsondata2 = [jsonstring datausingencoding:nsutf8stringenc Oding]; Nserror *error2 = nil; ID jsonobject = [nsjsonserialization jsonobjectwithdata:jsondata2 options:kniloptions Error:nil]; if (jsonobject! = Nil && Error2 = = nil) {NSLog (@ "Jsonobject = =%@", jsonobject); }else{//Parse error NSLog (@ "erroe:%@", Error2); }/** NSData, NSString:returns:NSString *///nsstring *tempstr = [[NSString alloc] I nitwithdata:<# (NSData *) #> encoding:<# (nsstringencoding) #>]; /** nsstring, NSData *///nsdata *tempdata = [[[NSString Alloc]init] datausingencoding:<# (NSStringEncod ing) #>]}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Nsdictionary or Nsarray (nsmutablearray) ==>> nsdata ==>> nsstring (Json):