【发布时间】:2015-04-17 15:46:01
【问题描述】:
我在尝试读取以下 json 数组(示例)时遇到了困难:
[
{
"id":"173",
"user":"44",
"value":"100.00"
},
{
"id":"158",
"user":"44",
"value":"1000.00"
}
]
代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary * parameters = @{@"entitty":self.entity};
NSString *url = [[defaults objectForKey:@"url_api"] stringByAppendingString:@"/blabla"];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary* json_string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSDictionary *json_dict = (NSDictionary *)json_string;
//it does not fail but is copying the same information as json_dict and what I actually need is to save position by position
NSArray * array = json_dict;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
}];
请帮忙。
【问题讨论】:
-
您是否尝试过使用
NSJSONSerialization类而不是NSString来读取数据? -
responseObject应该已经是NSArray。 -
顺便说一句 - 您创建了一个
NSString对象,但将其分配给了NSDictionary的变量。然后将NSString转换为NSDictionary。然后将NSDictionary分配给NSArray类型的变量。这些操作都没有任何意义。 -
@rmaddy 要在 responseObject 中接收 NSArray,应该使用 AFJSONResponseSerializer 而不是 AFHTTPResponseSerializer。
标签: ios objective-c arrays json deserialization