【发布时间】:2014-08-27 11:57:34
【问题描述】:
我正在使用 AFNetworking 2.0 调用 REST API,并返回一个有效的 JSONArray,例如:
[{"myattr": "asdf"}, {"myattr": "jklo"}]
我用这个位置解析我的responseObject:
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: responseObject options: NSJSONReadingMutableContainers error: &e];
奇怪的是我的jSONArray(在调试器中查找)包含两个对象,但序列化程序会引发解析错误。发生的情况是一些内部对象属性被剥离了它们的刻度。所以例如我看到:
[{attr: "asdf", attr2: "jklo", "attr3": "tzze"}, ...]
奇怪的是,一些属性保持它们的滴答声!
毕竟我唯一的想法是(除了这整个事情是错误的)序列化程序不会预期 JSONArray 而是 JSONObject。
这是我的全部代码:
[manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
int statusCode = [operation.response statusCode];
NSError *e = nil;
// NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: responseObject options: NSJSONReadingMutableContainers error: &e];
NSArray *jsonArray = (NSArray *)responseObject;
NSLog(responseObject);
NSLog(jsonArray);
NSDictionary *testDic = (NSDictionary *)jsonArray[0];
[testDic objectForKey:@"name"];
if (!jsonArray) {
NSLog(@"Error parsing JSON: %@", e);
} else {
for(NSDictionary *item in jsonArray) {
NSLog(@"Item: %@", item);
}
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
所以,毕竟我只是在寻找解析我的JSONArray 的解决方案。 我查看了here、here 和here,但没有找到解决方案。 ..
谢谢!
编辑
这里是解析错误:
(<invalid>) <error: expected ']' error: 1 errors parsing expression
【问题讨论】:
-
你遇到了什么错误?
-
错误是什么??
error:参数的存在是有原因的。 -
第一个 NSLog 的输出在哪里??
-
-1 未能包含 NSLog 输出。
-
NSError 未设置,jsonArray 变量也未设置。我用我得到的解析错误更新了我的帖子。
标签: ios json rest afnetworking-2 arrays