项目中,有时候需要对=由自己生成的json字符串,并进行加密,手动直接拼是种很累人的事情,且扩展性和易读性较低
所以往往大家利用扩展性强,使用方便的字典经行必要的参数存储,再将其json.
个人利用下面的代码感觉很是绕圈,且经行了很多没必要的处理
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
<pre name="code" class="objc">NSString *jsonSting = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
就自己写了一个方法使用,分享给大家
-(NSString *)dicToJson:(NSDictionary *)dic
{
NSArray *paraKey = [dic allKeys];
NSArray *paraValue = [dic allValues];
NSMutableString *paraStr = [[NSMutableString alloc] init];
[paraStr appendString:@"{\""];
for (NSInteger i = 0; i < dic.count; i++) {
[paraStr appendString:[NSString stringWithFormat:@"%@",paraKey[i]]];
[paraStr appendString:@"\":\""];
[paraStr appendString:[NSString stringWithFormat:@"%@",paraValue[i]]];
if (i == (dic.count - 1)) {
[paraStr appendString:@"\"}"];
}else{
[paraStr appendString:@"\",\""];
}
}
return paraStr;
}
如果不确定是否正确,可以将其打印出来,在网上(http://www.bejson.com/)经行json校正来检验正确性