json - 使用 EVReflection 进行非常缓慢的 JSON 解析,具体取决于 iOS 设备

标签 json swift parsing evo

我正在获取一个包含对象数组的json 对象。我愿意使用库 EVReflection 解析这个 json

操作需要一段时间,所以我决定监控我正在执行的步骤,并意识到json 的解析可能需要长达 20 秒,具体取决于设备。

使用 iPhone SE/iOS 11.4 大约需要 4 秒
使用 iPhone 5/iOS 10.3 大约需要 20 秒

我想知道这种变化是否仅取决于设备/操作系统是正常的。

我应该只使用另一个库还是可以做些什么来加快操作速度?

这是我正在使用的代码:

func getParkings(update: Bool) -> Observable<[ParkingEvo]> {
        if let x = parkings, !update {
            return Observable.just(x)
        } else {
            print("STEP 1: Calling API for parkings \(NSDate())")
            return RxAlamofire.string(.get, PARKINGS_URL, parameters: getParameters(), headers: nil)
                .map { self.parseParkings(json: $0) }
                .do(onNext: { self.storeParkings($0) })
        }
    }

private func parseParkings(json: String) -> [ParkingEvo]{
        print("STEP 2: Proceed to parse json \(NSDate())")
        let parkingsDTO = ParkingsDTO(json: json)
        print("STEP 3: ParkingsDTO created \(NSDate())")

        return parkingsDTO.items
    }

在 STEP2 和 STEP3 之间存在上述延迟。关于如何优化这个的任何想法?

提前谢谢你。

最佳答案

尝试使用 SwiftyJSON 进行解析,它快速且易于检查 Hacking with swift

您需要检查的是项目7

关于json - 使用 EVReflection 进行非常缓慢的 JSON 解析,具体取决于 iOS 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086777/

相关文章:

Python:使列表生成器 JSON 可序列化

php - 将数据添加到数组中的每个元素 -> JSON

json - 通过动态 @JsonIgnore 注释按需延迟加载

swift - R.swift 命令 PhaseScriptExecution 失败,退出代码为非零

Swift:其中包含特殊字符(如 .)的枚举名称

JavaScript CSV 解析器库

c# - 是否存在为歧义语句返回解析林的 C# 解析器生成器?

php - 使用 PHP 从外部数组/API/URL 获取信息

ios - 如何在透明 UINavigationBar 和带背景颜色的 UINavigationBar 之间切换

string - 解析 GNSS - NMEA 字符串