我有一个包含对象集合的 NSMutableArray,每个对象都有 NSString 类型的三个参数。我需要做的是遍历这个集合,并创建一个包含两个小节的 JSON 文档:一个称为“测试结果”,另一个称为“报告”。NSMutable 数组中的每个对象都有三个 NSString 参数,其中一个参数称为“testResult”。
如果“testResult”的值为“pass”或“fail”,则该对象需要进入“Test Result”部分。如果参数的值为“na”,则对象进入“报告”部分。“测试结果”部分应包含三个“元素”:“名称”、“日期”、“测试结果”。“报告”部分只需包含两个元素:“名称”和“日期”。我的问题不是如何使用 for 循环遍历 NSMutableArray,我的问题是如何遍历 NSMutableArray,并构造一个 JSON 文档,如上所述。
我的代码将类似于:
//creating beginning of JSON document here
for (Person *personObject in testResultArray) {
if (personObject.testResult == @"na") {
//construct JSON object for "Reports" section
NSString *jsonString1 = personObject.name;
NSString *jsonString2 = personObject.date;
NSData *data1 = [jsonString1 dataUsingEncoding:NSUTF8StringEncoding];
NSData *data2 = [jsonString2 dataUsingEncoding:NSUTF8StringEncoding];
NSError * error = nil;
id json1 = [NSJSONSerialization JSONObjectWithData:data1 options:0 error:&error];
id json2 = [NSJSONSerialization JSONObjectWithData:data2 options:0 error:&error];
}
else {
//construct JSON object for "Test Results" section
NSString *jsonString1 = personObject.name;
NSString *jsonString2 = personObject.date;
NSString *jsonString3 = personObject.testResult;
NSData *data1 = [jsonString1 dataUsingEncoding:NSUTF8StringEncoding];
NSData *data2 = [jsonString2 dataUsingEncoding:NSUTF8StringEncoding];
NSData *data3 = [jsonString3 dataUsingEncoding:NSUTF8StringEncoding];
NSError * error = nil;
id json1 = [NSJSONSerialization JSONObjectWithData:data1 options:0 error:&error];
id json2 = [NSJSONSerialization JSONObjectWithData:data2 options:0 error:&error];
id json3 = [NSJSONSerialization JSONObjectWithData:data3 options:0 error:&error];
}
}
//close the JSON document construction, and return JSON document.