我将JSON返回格式化并保存到plist中,如下所示:
alt text http://www.baublet.com/images/array3.png
我需要它具有以下格式:
alt text http://www.baublet.com/images/array4.png
我在保存数组时遗漏了一些东西,所以我可以在Root下面添加“Rows”,在Profile下添加“Item 0,etc”,有什么想法吗?
这是我的代码:
NSURL *url = [NSURL URLWithString:@"http://10.0.1.8/~imac/iphone/jsontest.php"];
NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url];
NSLog(jsonreturn); // Look at the console and you can see what the results are
SBJSON *json = [[SBJSON alloc] init];
NSError *error = nil;
rowsArray= [json objectWithString:jsonreturn error:&error];
//ADDED from COMMENT AS TEST
test = [rowsArray valueForKey:@"member"];
//Saving
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *choiceR = [documentsDirectory stringByAppendingPathComponent:@"FollowingArray"];
NSMutableArray *array = [[NSMutableArray alloc] init];
NSLog(@"string: %@",choiceR);
[array addObject:rowsArray];
[array writeToFile:choiceR atomically:YES];
[array release];
[jsonreturn release];
[json release];
以下是测试中的测试符号:
答案 0 :(得分:1)
所以我可以在Root
下添加“Rows”
使用rowsArray
作为密钥@"Rows"
的值创建一个NSDictionary。然后保存该字典而不是数组。
配置文件下的和“Item 0,etc”
您必须为每个项目获取profile
字典并手动将其转换为所需格式,然后将字典替换为结果数组。这不可能在一两行中完成,但它不应该太难。只需抓住字典的键,然后为每个键创建一个包含所需键/值对的新字典,然后将所有这些字符串添加到数组中。