Jansson概述Jansson是一个C语言库 , 用于编码 , 解码和处理JSON数据 。其主要特点和设计原则是:
- 简单直观的API和数据模型
- 全面的文档
- 不依赖其他库
- 完全支持Unicode(UTF-8)
- 广泛的测试套件
编译和安装Jansson解压源码
bunzip2 -c jansson-2.12.tar.bz2 | tar xf -cd jansson-2.12源代码使用GNU Autotools(autoconf , automake , libtool) , 因此编译和安装非常简单 。
./configuremakemake checkmake install要更改目标目录(默认情况下为/usr/local) , 可将--prefix=dir参数用于./configure 。可参阅./configure--help以获取所有可能的配置选项的列表 。
make check命令运行jansson发布的测试套件 。这一步并不是绝对必要的 , 但它可能会发现jansson在你的平台上可能存在的问题 。
如果您从git存储库(或任何其他源代码管理系统)获得源代码 , 则不会有./configure脚本 , 因为它不保存在版本控制中 。要创建脚本 , 需要引导生成系统 。可通过执行如下命令 。
autoreconf -fi此命令创建./configure脚本 , 然后可以如上面描述的使用该脚本编译jansson 。
线程安全性Jansson作为一个库是线程安全的 , 并且没有可变的全局状态 。Jansson的代码内没有执行锁定 。对多个线程共享的JSON值进行只读访问是安全的 , 但对多个线程共享的JSON值进行更改则不可行 。如果多个线程共享的JSON值发生突变 , 则多线程程序必须执行其自身的锁定 。但是 , 引用计数操作(json_incref() , json_decref())通常是线程安全的 , 并且可以在线程之间共享的JSON值上执行 。可以使用JANSSON_THREAD_SAFE_REFCOUNT预处理器常数检查引用计数的线程安全性。线程安全的引用计数操作是使用编译器内置的原子函数实现的 , 该函数在大多数现代编译器中都可用 。如果没有编译器支持(JANSSON_THREAD_SAFE_REFCOUNT 未定义) , 则可能很难确保引用计数的线程安全性 。
API参考所有声明都在中jansson.h , 因此应用需要包含jansson.h头文件 。
#include <jansson.h>所有常量都带有前缀JSON_(描述库版本的常量除外 , 带有前缀JANSSON_) 。其他标识符以json_开头 。
库版本
Jansson版本的格式为
推荐阅读
- 用正确的方式取茶 置茶
- 爱奇艺下载的视频用什么播放器可以看 腾讯视频与爱奇艺视频哪个好用
- 一种解决jar包冲突的实现:隔离机制
- 货品进销存的免费软件
- 使用dockerfile构建自己的镜像
- 开淘宝店的基本流程 如何在淘宝开店需要什么条件
- 世界上最大的花最臭的花是什么花 大王花是世界上最臭的花吗
- 邯郸曾经是哪国国都 几千年没改名的城市
- 对于交换机的知识你了解了多少
- 孩子适合喝什么样的茶