使用多个根对象解析JSON有效内容的正确方法

时间:2013-06-22 08:20:54

标签: ios

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

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

考虑到使用CoreData没有持久保存对象图,解析该JSON结构的正确方法是什么。迭代owners对象来查找每辆车的车主详细信息效率非常低,那么更好的方法是什么?

2 个答案:

答案 0 :(得分:1)

  

通过所有者对象迭代查找每辆车的所有者详细信息效率非常低,那么更好的方法是什么?

O(n^2)对于相当小的n来说完全没问题。在现代iOS设备上,您必须达到10k对象的订单才能看到性能损失 - 可能比JSON发回的要小得多。

正如其他人在评论中提到的那样,old saying goes,“我们应该忘记效率低下,大约97%的时间说:过早的优化是所有邪恶的根源。”

只需编码即可。如果您的应用很慢,请在仪器中进行配置。只有这样你才能真正知道应用程序的瓶颈是什么(人们通常非常难以猜测先验

答案 1 :(得分:-1)

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