JSON-c和cJSON哪种更好?

在做数据处理和传输的过程中,往往会用到JSON格式,因为JSON格式的数据每个量对应的数据类型和值一目了然,比较人性化,易于人理解,对于机器来说也同样方便识别,是一种轻量型的数据交互格式。

JSON-c和cJSON哪种更好?

因为有两种方式可供选择,所以在选择的时候就需要衡量方便性和移植的问题了。下面我们就来分别介绍一下这两者的共同点和区别。

一、共同点

JSON是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个字面名。JSON是一个序列化的对象或数组,都是由键值对组成的,值的类型可以是空的,也可以是任意类型的数据。这样给数据处理上带来了很大的方便。如图格式:

JSON-c和cJSON哪种更好?

二、差异

1、移植

cJSON移植很方便,只要把相应的cJSON.c和cJSON.h这两个文件下载下来就可以直接用了。下载链接:https://sourceforge.net/projects/cjson/

JSON-c移植就比较麻烦了,直接上图吧

①直接获取链接下载:

JSON-c和cJSON哪种更好?

②从github上拉取下来:

JSON-c和cJSON哪种更好?

最终我们会看到,JSON-c牵扯到了环境,动态库等等。。。真让人头大,如果玩过linux的话都知道,如果环境有问题或者版本不对,要解决并不是一朝一夕的事情。

笔者之前就经历过,因为工程是别人建立的,别人的运行环境跟自己的运行环境不一样,折磨了我几天,而且我问他使用什么环境编译的,步骤能否提供一下,他竟然说忘了。虽然内心很崩溃,但是那口老血还是没有喷出来。

所以朋友们在选用的时候一定要注意选用的问题,另一方面说一下两种json提供的库吧,真值得一提。涉及的库函数比较多,直接看我总结的区别吧。

主要有两点:

1、值类型

封装不一样:

cJSON不管是浮点数还是整型,都统一用一个函数

JSON-c和cJSON哪种更好?

但是JSON-c就不一样了

JSON-c和cJSON哪种更好?

获取数值也不一样:

cJSON获取值:

JSON-c和cJSON哪种更好?

JSON-c获取值:

JSON-c和cJSON哪种更好?

总的来说,cJSON对于数值类型,只要一个函数就可以,获取的时候指明是哪种类型的就行了,而JSON-c还会牵扯到多个函数,很明显操作步骤变多了。

还有在格式化为字符串的时候,cJSON可以输出有格式的和无格式的

JSON-c和cJSON哪种更好?

JSON-c只有一个转化成字符串的,而且没有格式

JSON-c和cJSON哪种更好?

以上就是这两者的异同了,赶快用起来吧!

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章