Roughly:
//creating beginning of JSON document here
NSMutableArray* reports = [NSMutableArray array];
NSMutableArray* results = [NSMutableArray array];
for (Person *personObject in testResultArray) {
if (personObject.testResult == @"na") {
NSMutableDictionary* naPerson = [NSMutableDictionary dictionary];
[naPerson setObject:personObject.name forKey:@"name"];
[naPerson setObject:personObject.date forKey:@"date"];
[reports addObject:naPerson];
}
else {
NSMutableDictionary* person = [NSMutableDictionary dictionary];
[person setObject:personObject.name forKey:@"name"];
[person setObject:personObject.date forKey:@"date"];
[person setObjeect:personObject.testResult forKey:@"testResult"];
[results addObject:person];
}
}
NSMutableDictionary* mainDoc = [NSMutableDictionary dictionary];
[mainDoc setObject:reports forKey:@"reports"];
[mainDoc setObject:results forKey:@"results"];
NSString* JSONString = [JSONToolKit stringFromObject:mainDoc];
Note that Apple's NSJSONSerialization package is brain-dead, requiring you to uselessly cycle through an NSData representation. Use a different package -- pick one at http://www.json.org/