IOS JSON - 在控制台中获得意外结果

时间:2016-07-25 21:50:22

标签: ios objective-c json nsmutablearray nsmutabledictionary

我是JSON的新手,并试图像我这样

循环我的JSON数组
for (NSDictionary *dict in self.contentArray) {
        NSLog(@"%@", dict);
}

但是继续在控制台中获取此类内容而不是实际字典:

<Content: 0x7fd9b1037950>

这是我用来创建数组的代码:

    // Create a new array to hold the locations
    NSMutableArray *locations = [[NSMutableArray alloc] init];

    // Get an array of dictionaries with the key "locations"
    NSArray *array = [jsonDictionary objectForKey:@"data"];
    // Iterate through the array of dictionaries
    for(NSDictionary *dict in array) {
        // Create a new Location object for each one and initialise it with information in the dictionary
        Content *content = [[Content alloc] initWithJSONDictionary:dict];
        // Add the Location object to the array
        [locations addObject: content];
   }

2 个答案:

答案 0 :(得分:2)

您可以采取的两项措施之一来实现您想要的行为。

  1. 在Content类

    中覆盖以下方法
    (NSString *)description;
    

    使用NSLog打印内容实例时格式化并返回字符串。

  2. 将dict直接存储在数组中而不将其包裹在Content对象周围,然后字典将按照您的预期打印。

答案 1 :(得分:1)

您可以使用JSONModel:https://github.com/jsonmodel/jsonmodel

这很简单。