iOS 使用已解析的 Json 并放入 TableView
iOS use parsed Json and put into TableView
我对 Obj-c 和 json 都很陌生,我正在使用 TableViewController 创建我的第一个 iOS 项目。我从 WCF 得到的 json 看起来像这样:
{
Fri = (
"\U8fc7\U7a0b\U63a7\U5236\U7cfb\U7edf\U4e0e\U4eea\U8868;\U5468\U4e94\U7b2c1,2\U8282{\U7b2c7-16\U5468};\U9ad8\U5b8f\U4f1f;XX-226",
"MATLAB\U5e94\U7528;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c9-16\U5468};\U8d75\U5ef6\U4e1c;XX-128;;\U8ba1\U7b97\U673a\U8fc7\U7a0b\U63a7\U5236\U6280\U672f;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c1-8\U5468};\U9ad8\U5b8f\U4f1f;XX-226",
"\U7f51\U7edc\U5316\U6d4b\U63a7\U7cfb\U7edf;\U5468\U4e94\U7b2c5,6\U8282{\U7b2c1-12\U5468};\U80e1\U745e/\U9648\U4eae;XX-228",
"\U5de5\U63a7\U7ec4\U6001\U8f6f\U4ef6\U53ca\U5e94\U7528;\U5468\U4e94\U7b2c7,8\U8282{\U7b2c1-8\U5468};\U9a6c\U666f\U5bcc;XX-228;;\U81ea\U52a8\U63a7\U5236\U539f\U7406\Uff08\U63d0\U9ad8\Uff09;\U5468\U4e94\U7b2c7,8\U8282{\U7b2c9-16\U5468};\U5218\U6d77\U8273;XX-229",
"<null>",
"<null>"
);
Mon = (
"\U5d4c\U5165\U5f0f\U4eea\U8868\U8bbe\U8ba1\U57fa\U7840;\U5468\U4e00\U7b2c1,2\U8282{\U7b2c9-16\U5468};\U5218\U519b/\U77f3\U5f81\U9526;XX-229",
"\U7535\U5b50\U6d4b\U91cf\U6280\U672f;\U5468\U4e00\U7b2c3,4\U8282{\U7b2c1-16\U5468};\U8d75\U4e9a\U5a01/\U9ad8\U5b8f\U4f1f;XX-130",
"\U4fe1\U53f7\U4e0e\U7cfb\U7edf\Uff08\U63d0\U9ad8\Uff09;\U5468\U4e00\U7b2c5,6\U8282{\U7b2c1-8\U5468};\U534e\U5b87\U5b81;XX-130;;\U53ef\U7f16\U7a0b\U63a7\U5236\U5668;\U5468\U4e00\U7b2c5,6\U8282{\U7b2c9-16\U5468};\U66f2\U4e07\U6625;XX-336",
"\U667a\U80fd\U4eea\U5668\U4eea\U8868;\U5468\U4e00\U7b2c7,8\U8282{\U7b2c1-12\U5468};\U66f2\U4e07\U6625;XX-336",
"<null>",
"<null>"
);}
我用这个 Json 做的是:
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"JSONRead";
NSString *testUrl = @"testurl";
NSURL *url = [NSURL URLWithString:testUrl];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10];
NSData *JSONData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSArray *jsonResult = [NSJSONSerialization JSONObjectWithData:JSONData options:kNilOptions error:nil];
self.str = [[NSString alloc] initWithData:JSONData encoding:NSUTF8StringEncoding];
self.data = jsonResult;
NSMutableDictionary *dJSON = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingAllowFragments error:nil];
NSLog(@"DictionaryJson is %@",dJSON);
NSMutableArray *_names=[[NSMutableArray alloc]init];
for (id item in jsonResult)
[_names addObject:[NSString stringWithFormat:@"%@", item]];;
self.names = _names;
NSLog(@"%@", self.names);
}
进入此 NSMutableArray names
的只是在 TableView 中显示的周五和周一。我想问的是,如何在表格视图中显示其他信息?或者如何将所有这些信息添加到 NSMutableArray names
?像这个表格,那些行在不同的TableView Cells中,不在同一个
Fri
\U8fc7\U7a0b\U63a7\U5236\U7cfb\U7edf\U4e0e\U4eea\U8868;\U5468\U4e94\U7b2c1,2\U8282{\U7b2c7-16\U5468};\U9ad8\U5b8f\U4f1f;XX-226
MATLAB\U5e94\U7528;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c9-16\U5468};\U8d75\U5ef6\U4e1c;XX-128
......
Mon
\U5d4c\U5165\U5f0f\U4eea\U8868\U8bbe\U8ba1\U57fa\U7840;\U5468\U4e00\U7b2c1,2\U8282{\U7b2c9-16\U5468};\U5218\U519b/\U77f3\U5f81\U9526;XX-229
U7535\U5b50\U6d4b\U91cf\U6280\U672f;\U5468\U4e00\U7b2c3,4\U8282{\U7b2c1-16\U5468};\U8d75\U4e9a\U5a01/\U9ad8\U5b8f\U4f1f;XX-130
......
非常感谢,如果可以的话我会 post 图片,但我不能...抱歉...谢谢您的回答
此外,我并不是说那些 xxx,xxxx
显示在一行中...我希望它们尽可能显示在不同的 TableViewCells 中,或者显示在不同的行中细胞,如果没有更好的解决方案。所以将它们添加到单个 NSString 中不是我正在寻找的解决方案......抱歉
尝试以下解决方案..
for (id item in jsonResult)
{
NSArray *array=[jsonResult valueForKey:item];
NSString *joinedComponents = [array componentsJoinedByString:@","];
[_names addObject:[NSString stringWithFormat:@"%@ %@", item,joinedComponents]];;
self.names = _names;
NSLog(@"%@", self.names);
}
希望对你有帮助..!
我对 Obj-c 和 json 都很陌生,我正在使用 TableViewController 创建我的第一个 iOS 项目。我从 WCF 得到的 json 看起来像这样:
{
Fri = (
"\U8fc7\U7a0b\U63a7\U5236\U7cfb\U7edf\U4e0e\U4eea\U8868;\U5468\U4e94\U7b2c1,2\U8282{\U7b2c7-16\U5468};\U9ad8\U5b8f\U4f1f;XX-226",
"MATLAB\U5e94\U7528;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c9-16\U5468};\U8d75\U5ef6\U4e1c;XX-128;;\U8ba1\U7b97\U673a\U8fc7\U7a0b\U63a7\U5236\U6280\U672f;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c1-8\U5468};\U9ad8\U5b8f\U4f1f;XX-226",
"\U7f51\U7edc\U5316\U6d4b\U63a7\U7cfb\U7edf;\U5468\U4e94\U7b2c5,6\U8282{\U7b2c1-12\U5468};\U80e1\U745e/\U9648\U4eae;XX-228",
"\U5de5\U63a7\U7ec4\U6001\U8f6f\U4ef6\U53ca\U5e94\U7528;\U5468\U4e94\U7b2c7,8\U8282{\U7b2c1-8\U5468};\U9a6c\U666f\U5bcc;XX-228;;\U81ea\U52a8\U63a7\U5236\U539f\U7406\Uff08\U63d0\U9ad8\Uff09;\U5468\U4e94\U7b2c7,8\U8282{\U7b2c9-16\U5468};\U5218\U6d77\U8273;XX-229",
"<null>",
"<null>"
);
Mon = (
"\U5d4c\U5165\U5f0f\U4eea\U8868\U8bbe\U8ba1\U57fa\U7840;\U5468\U4e00\U7b2c1,2\U8282{\U7b2c9-16\U5468};\U5218\U519b/\U77f3\U5f81\U9526;XX-229",
"\U7535\U5b50\U6d4b\U91cf\U6280\U672f;\U5468\U4e00\U7b2c3,4\U8282{\U7b2c1-16\U5468};\U8d75\U4e9a\U5a01/\U9ad8\U5b8f\U4f1f;XX-130",
"\U4fe1\U53f7\U4e0e\U7cfb\U7edf\Uff08\U63d0\U9ad8\Uff09;\U5468\U4e00\U7b2c5,6\U8282{\U7b2c1-8\U5468};\U534e\U5b87\U5b81;XX-130;;\U53ef\U7f16\U7a0b\U63a7\U5236\U5668;\U5468\U4e00\U7b2c5,6\U8282{\U7b2c9-16\U5468};\U66f2\U4e07\U6625;XX-336",
"\U667a\U80fd\U4eea\U5668\U4eea\U8868;\U5468\U4e00\U7b2c7,8\U8282{\U7b2c1-12\U5468};\U66f2\U4e07\U6625;XX-336",
"<null>",
"<null>"
);}
我用这个 Json 做的是:
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"JSONRead";
NSString *testUrl = @"testurl";
NSURL *url = [NSURL URLWithString:testUrl];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10];
NSData *JSONData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSArray *jsonResult = [NSJSONSerialization JSONObjectWithData:JSONData options:kNilOptions error:nil];
self.str = [[NSString alloc] initWithData:JSONData encoding:NSUTF8StringEncoding];
self.data = jsonResult;
NSMutableDictionary *dJSON = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingAllowFragments error:nil];
NSLog(@"DictionaryJson is %@",dJSON);
NSMutableArray *_names=[[NSMutableArray alloc]init];
for (id item in jsonResult)
[_names addObject:[NSString stringWithFormat:@"%@", item]];;
self.names = _names;
NSLog(@"%@", self.names);
}
进入此 NSMutableArray names
的只是在 TableView 中显示的周五和周一。我想问的是,如何在表格视图中显示其他信息?或者如何将所有这些信息添加到 NSMutableArray names
?像这个表格,那些行在不同的TableView Cells中,不在同一个
Fri
\U8fc7\U7a0b\U63a7\U5236\U7cfb\U7edf\U4e0e\U4eea\U8868;\U5468\U4e94\U7b2c1,2\U8282{\U7b2c7-16\U5468};\U9ad8\U5b8f\U4f1f;XX-226
MATLAB\U5e94\U7528;\U5468\U4e94\U7b2c3,4\U8282{\U7b2c9-16\U5468};\U8d75\U5ef6\U4e1c;XX-128
......
Mon
\U5d4c\U5165\U5f0f\U4eea\U8868\U8bbe\U8ba1\U57fa\U7840;\U5468\U4e00\U7b2c1,2\U8282{\U7b2c9-16\U5468};\U5218\U519b/\U77f3\U5f81\U9526;XX-229
U7535\U5b50\U6d4b\U91cf\U6280\U672f;\U5468\U4e00\U7b2c3,4\U8282{\U7b2c1-16\U5468};\U8d75\U4e9a\U5a01/\U9ad8\U5b8f\U4f1f;XX-130
......
非常感谢,如果可以的话我会 post 图片,但我不能...抱歉...谢谢您的回答
此外,我并不是说那些 xxx,xxxx
显示在一行中...我希望它们尽可能显示在不同的 TableViewCells 中,或者显示在不同的行中细胞,如果没有更好的解决方案。所以将它们添加到单个 NSString 中不是我正在寻找的解决方案......抱歉
尝试以下解决方案..
for (id item in jsonResult)
{
NSArray *array=[jsonResult valueForKey:item];
NSString *joinedComponents = [array componentsJoinedByString:@","];
[_names addObject:[NSString stringWithFormat:@"%@ %@", item,joinedComponents]];;
self.names = _names;
NSLog(@"%@", self.names);
}
希望对你有帮助..!