【问题标题】:Loop through undetermined number of nested arrays循环遍历未确定数量的嵌套数组
【发布时间】:2015-01-28 14:05:42
【问题描述】:

我的应用正在通过 JSON 解析数据。 JSON 包含嵌套数组,嵌套数组的数量因 JSON 文件而异。

使用 Objective C 遍历所有这些嵌套数组的最佳方法是什么?我应该使用递归函数、递归块还是有可以实现此目标的枚举方法?

这是数据在 JSON 中如何表示的简单图表:

[
string,
string,
    array[string,
          array[string
               ],
          string
         ],
string
]

感谢您的宝贵时间。

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    我会推荐这种工作underscorem,这是一个非常好的库,可以很容易地处理这种任务。 在您的情况下,一旦您将 json 解析为数组

    //You will need to import Underscore.h 
    #import "Underscore.h"
    
    //That would look like myArray
    NSArray *myArray = @[@"1somestring",@"2somestring",@[@"3anotherstring",@[@"4thirdLevelString",@"5string"],@"6string"],@"7string"];
    NSArray *flattenArray = Underscore.flatten(myArray);
    NSLog(@"flattenArray: %@",flattenArray);
    

    flattenArray 将包含以下内容:

    @[@"1somestring",@"2somestring",@"3anotherstring",@"4thirdLevelString",@"5string",@"6string",@"7string"]
    

    会给你这样的输出:

    flattenArray: (
    1somestring,
    2somestring,
    3anotherstring,
    4thirdLevelString,
    5string,
    6string,
    7string
    

    )

    【讨论】:

    • 这个库看起来非常有用,谢谢分享。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2021-05-31
    相关资源
    最近更新 更多