-5

我正在为我的网络请求使用 AFNetworking。假设我有以下 JSON 有效负载:

{
    "car": [{
         "name": "Blue BMW",
         "owner_id": "123"
    }],
    "owners": [{
        "id": "123",
        "name": "John"
    }]
}

考虑到对象图没有使用 CoreData 持久化,解析该 JSON 结构的正确方法是什么。遍历owners对象以查找每辆车的所有者详细信息效率非常低,那么有什么更好的方法呢?

4

2 回答 2

1

遍历车主对象以查找每辆车的车主详细信息效率非常低,那么有什么更好的方法呢?

O(n^2)对于相当小的n. 在现代 iOS 设备上,您必须进入大约 10k 个对象才能看到性能下降——可能比 JSON 发回的要小得多。

正如其他人之前在评论中提到的那样,正如老话所说,“我们应该忘记小的效率,大约 97% 的时间说:过早的优化是万恶之源”。

只需编码即可。如果您的应用程序很慢,请在仪器中对其进行分析。只有这样你才能真正知道你的应用程序的瓶颈是什么(人类通常很不擅长先验猜测)

于 2013-06-22T17:47:51.913 回答
-1

使用NSJSONSerialization类解析 JSON。用于+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error 从给定的 JSON 数据创建 Foundation 对象。

于 2013-06-22T08:27:06.797 回答