轻量级json库 cJSON

这几天在看OpenGL基础,其中一个章节是读取一个 obj 模型文件,把模型显示出来。obj 模型格式很简单,放到文本编辑器里肉眼就能看懂:定义了 顶点坐标数组,顶点uv数组,顶点法线数组。然后又定义了 许多face ,每个 face 由  各个顶点位置,顶点uv,顶点法线  的 索引序号来表示。

但是 obj 格式解析起来,我觉得有点麻烦。。。就想这样搞,写一个python脚本 把 obj 导为 json ,然后 c++ 代码里读取 json 文件,作为模型数据源。好像有点折腾。

c++ 读取json ,比较有名的 库是 rapid json 。但是搜索比较之下,cJSON 这个库 最为轻量级。只有一个 .h 一个 .c ,纯 C 语言写成,移植性好,一共两个文件 编译链接都不费事。所以就选择了它。今天下班到家大概了解了一下用法,api 设计得也比较简洁。唯一卡住的地方,是 cJSON 所支持的 json 必须是标准 json ,具体的说就是  最后一个元素后面,不能有逗号,否则cJSON_Parse 失败。

总体来说,这个库还是相当方便的,自己写着玩,图个便利的话,强推。

另外, 前些天稍微了解了一些 nodejs, 对 nodejs 挺感兴趣。 obj 转 json 的工作,打算用 nodejs 来尝试做一个试试。可能另有一番乐趣。

最终的目的还是把 文件里的模型 用 OpenGL 显示到窗口里。这个大目标不能忘。

另外,感觉自己基础有些薄弱。。C++ 读写文件 相关的 api ,还是要 边用边查。。还没有到达运用自如的地步,惭愧惭愧。。


猜你喜欢

转载自blog.csdn.net/korekara88730/article/details/79350034