//1. 初始化可變字符串,存放最終生成json字串
NSMutableString *jsonString = [[NSMutableString alloc] initWithString:@"{\"actorhalls\":["];
for(ExecplanActosHall *hall in actorhalls){
//2. 遍歷數組,取出鍵值對並按json格式存放
NSString *string;
string = [NSString stringWithFormat:
@"{\"ownerName\":\"%@\",\"ownerId\":\"%@\",\"channelId\":\"%@\",\"ownerType\":\"%ld\"},",hall.ownerName,hall.ownerId,hall.channelId,(long)hall.ownerType];
[jsonString appendString:string];
}
// 3. 獲取末尾逗號所在位置
NSUInteger location = [jsonString length]-1;
NSRange range = NSMakeRange(location, 1);
// 4. 將末尾逗號換成結束的]}
[jsonString replaceCharactersInRange:range withString:@"]}"];
NSLog(@"jsonString = %@",jsonString);
其一:字典轉json
//字典轉Json
- (NSString*)dictionaryToJson:(NSDictionary *)dic
{
NSError *parseError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
其二:json轉字典
/*!
* @brief 把格式化的JSON格式的字符串轉換成字典
* @param jsonString JSON格式的字符串
* @return 返回字典
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
NSLog(@"json解析失敗:%@",err);
return nil;
}
return dic;
}
