alibaba / HandyJSON

A handy swift json-object serialization/deserialization library
Other
4.22k stars 615 forks source link

HandyJSON还能继续使用吗? #466

Closed Howard-Flipped closed 2 years ago

Howard-Flipped commented 2 years ago

我注意到HandyJSON依赖的reflection这个库似乎是废弃了,那么HandyJSON还能继续使用吗? 有点担心,希望作者能解答一下 @xuyecan @lynnleelhl

stevendinggang commented 2 years ago

 我收到啦!!!

Coder-ZJQ commented 2 years ago

HandyJSON 是通过源码(并作了修改)的形式使用 Reflection 这个库,所以使用应该不受影响,不过不知道作者会不会替换 Reflection 库。

相关链接: reflection-deprecated Reflection 源码说明

Howard-Flipped commented 2 years ago

好的,感谢解答: )

xuyecan commented 2 years ago

我注意到HandyJSON依赖的reflection这个库似乎是废弃了,那么HandyJSON还能继续使用吗? 有点担心,希望作者能解答一下 @xuyecan @lynnleelhl

抱歉,现在已经不再建议继续使用。Swift发布4.0版本之前,官方未提供推荐的JSON处理方案,因此我们设计并实现了HandyJSON这套方案。但现在:1. Swift已经提供了Codable机制,可以相对便捷的进行JSON处理;2. HandyJSON的实现强依赖于Swift底层内存布局机制,这个机制是非公开、不被承诺、且实践证明一直在随着Swift版本变动的,HandyJSON需要跟进Swift的每次版本更新,更大的风险是,用户升级iOS版本可能会影响这个依赖,导致应用逻辑异常。

综上,我们不再建议继续使用。