JSONDecoder和JSONEncoder类是线程安全的吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSONDecoder和JSONEncoder类是线程安全的吗?相关的知识,希望对你有一定的参考价值。

我找不到任何可能暗示任何方式的证据。

我现在每次创建新实例并使用自定义解码/编码选项进行配置,并想知道我是否可以创建单例并在每次需要时将其出售。

答案

JSONDecoderJSONEncoder的代码来看,它们似乎是线程安全的。

encode()decode()都使用JSONSerialization(自ios 7和macOS 10.9以来一直是线程安全的),并且这两种方法都在局部变量中创建自己的私有解码/编码对象。据我所知,没有共享存储空间。

代码可以在这里找到:https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/JSONEncoder.swift

以上是关于JSONDecoder和JSONEncoder类是线程安全的吗?的主要内容,如果未能解决你的问题,请参考以下文章

python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换

Swift持久化存储对象到文件中JSONEncoder 与 JSONDecoder

Swift持久化存储对象到文件中JSONEncoder 与 JSONDecoder

Swift持久化存储对象到文件中JSONEncoder 与 JSONDecoder

Swift持久化存储对象到文件中JSONEncoder 与 JSONDecoder

JSONDecoder 无法处理空响应