【问题标题】:How to save json array into array position by position? [closed]如何按位置将json数组保存到数组位置? [关闭]
【发布时间】: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


【解决方案1】:

使用AFJSONResponseSerializer 代替AFHTTPResponseSerializer,您将在responseObject 中收到已解析的NSArray 或NSDictionary。

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    相关资源
    最近更新 更多