armink / struct2json

A fast convert library between the JSON and C structure. Implement structure serialization and deserialization for C. | C 结构体与 JSON 快速互转库,快速实现 C 结构体的序列化及反序列化
MIT License
680 stars 293 forks source link

v2.0 features #17

Closed yuxuebao closed 3 years ago

yuxuebao commented 3 years ago

2.0版本新增功能【yuxuebao】 1) 更新cJSON库至1.7.12版本,并扩充实现,支持int64 (long long)类型数据。PS:cJSON原来int64类型以double方式处理,如果超过16位会有精度损失。 2) 扩展struct2json功能,增加支持结构体内包含结构体成员,支持包含数组成员。 3) 增加struct2json 结构体与JSON转换代码自动生成的Python脚本,支持从头文件中提取结构体定义,并根据结构体定义自动生成结构体与JSON互转代码,并提供相关示例。

armink commented 3 years ago

Cool,非常 nice 的一个 PR ,感谢你的贡献

想问下,V2.0 对 V1.0 的兼容性怎么样,能做到无缝替换吗?

yuxuebao commented 3 years ago

Cool,非常 nice 的一个 PR ,感谢你的贡献

想问下,V2.0 对 V1.0 的兼容性怎么样,能做到无缝替换吗?

应该可以,2.0的修改遵循开闭原则,没有修改原来的接口。

armink commented 3 years ago
yuxuebao commented 3 years ago
* 请修正一下 PR 中的冲突文件

* cJSON 源码的位置是否还原为之前的位置更好,这样用户升级后,不用修改编译选项中的头文件路径配置了

PR中的冲突详情看不到。 考虑到cJSON更新更为频繁,且目录结构与struct2json不一致,为了方便后续独立升级,建议保持cJSON工程原来的目录结构。