【发布时间】:2013-03-21 10:43:14
【问题描述】:
我正在使用 Parse.com 作为我的应用程序的后端,我目前正在那里存储数据。
数据是视频游戏机的列表。我能够输出它,但输出不是 JSON 数据,而是一个大的 NSMutableArray。
这是我的 viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"https://api.parse.com/1/classes/Consoles"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"APPLICATION_ID" forHTTPHeaderField:@"X-Parse-Application-Id"];
[request setValue:@"REST_API_KEY" forHTTPHeaderField:@"X-Parse-REST-API-Key"];
NSError *error;
id listOfConsoles = [NSJSONSerialization JSONObjectWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil] options:NSJSONReadingMutableContainers error:&error];
NSLog(@"The list: %@", listOfConsoles);
}
输出:
The list: {
results = (
{
createdAt = "2013-03-21T07:26:04.149Z";
name = PlayStation;
objectId = vloIK0MZIA;
updatedAt = "2013-03-21T07:26:04.149Z";
},
{
createdAt = "2013-03-21T07:26:34.209Z";
name = Wii;
objectId = RIRpgbznlq;
updatedAt = "2013-03-21T07:26:34.209Z";
},
{
createdAt = "2013-03-21T07:26:39.391Z";
name = Xbox;
objectId = xBNgHtJbrV;
updatedAt = "2013-03-21T07:26:39.391Z";
}
);
}
我想要的输出是什么:
{
"results" : [
{
"objectId" : "vloIK0MZIA",
"updatedAt" : "2013-03-21T07:26:04.149Z",
"createdAt" : "2013-03-21T07:26:04.149Z",
"name" : "PlayStation"
},
{
"objectId" : "RIRpgbznlq",
"updatedAt" : "2013-03-21T07:26:34.209Z",
"createdAt" : "2013-03-21T07:26:34.209Z",
"name" : "Wii"
},
{
"objectId" : "xBNgHtJbrV",
"updatedAt" : "2013-03-21T07:26:39.391Z",
"createdAt" : "2013-03-21T07:26:39.391Z",
"name" : "Xbox"
}
]
}
顺便说一句
为什么当我在代码中有一个单独的NSData时:
NSData *JSONData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
并将我的 NSJSONSerialization 更改为:
id listOfConsoles = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:&error];
输出将是:
The list: {
error = unauthorized;
}
【问题讨论】:
-
有什么理由不使用 Parse 的 iOS SDK?
-
没什么特别的。我最近刚刚遇到 Parse.com,并且正在使用它的 SDK。
标签: ios json parsing parse-platform nsjsonserialization