高新企业建设网站价格,生成图标网站,江苏广宇建设集团有限公司 网站,php网站开发与设计C语言检测字符串是否是json格式的数据#xff0c;可以用jansson库检测#xff0c;也可以用cjson库来校验。但是若数据格式有问题#xff0c;jansson可以指出哪里有错误#xff0c;cjson无法指出。 下面就演示C语言如何使用jansson库检测字符串是否是json格式的数据。 1.下载… C语言检测字符串是否是json格式的数据可以用jansson库检测也可以用cjson库来校验。但是若数据格式有问题jansson可以指出哪里有错误cjson无法指出。 下面就演示C语言如何使用jansson库检测字符串是否是json格式的数据。 1.下载jansson库源码zip 文件 GitHub - akheron/jansson: C library for encoding, decoding and manipulating JSON data 2.编译jansson库 2.1.windows 下编译所需环境 a. cmake可参考文章【windows下cmake的小白级入门使用教程(hello world)】windows下cmake的小白级入门使用教程(hello world)_cmake windows_西晋的no1的博客-CSDN博客 b. vistual studio如下图是vs2022必须的组件cmake支持哪个版本的vs可参照文章【查看当前cmake版本支持哪些版本的Visual Studio】 查看当前cmake版本支持哪些版本的Visual Studio-CSDN博客 进行确定 2.2.编译过程 a.如果是下载的 zip 文件先解压代码进入代码文件夹 jansson-master,在当前文件夹的地址栏中输入cmd然后回车,调出命令行窗口。 b.在命令行窗口中依次输入下述3行内容 md build cd build cmake -G Visual Studio 17 .. 注需要根据电脑上安装的cmake和vs版本进行填写如有些低版本的cmake不支持Visual Studio 2022升级cmake版本有的电脑上没有安装Visual Studio 2022安装Visual Studio 2022或者选择电脑上有的版本 vs版本对应 Visual Studio 17 2022 Generates Visual Studio 2022 project files. Use -A option to specify architecture. Visual Studio 16 2019 Generates Visual Studio 2019 project files. Use -A option to specify architecture. Visual Studio 15 2017 [arch] Generates Visual Studio 2017 project files. Optional [arch] can be Win64 or ARM. Visual Studio 14 2015 [arch] Generates Visual Studio 2015 project files. Optional [arch] can be Win64 or ARM. Visual Studio 12 2013 [arch] Generates Visual Studio 2013 project files. Optional [arch] can be Win64 or ARM. Visual Studio 11 2012 [arch] Generates Visual Studio 2012 project files. Optional [arch] can be Win64 or ARM. Visual Studio 10 2010 [arch] Deprecated. Generates Visual Studio 2010 project files. Optional [arch] can be Win64 or IA64. Visual Studio 9 2008 [arch] Generates Visual Studio 2008 project files. Optional [arch] can be Win64 or IA64. 编译成功之后在build文件夹下会生成所有的测试工程。主要内容如下 build private_include include jansson.sln c.用Visual Studio打开build文件夹下的jansson.sln d.根据实际使用场景选择合适的版本Debug或Release)然后选择生成-重新生成解决方案等待一段时间可以看到0失败 e.此时可以在build文件夹下看到lib文件夹下有个Debug或Release文件夹里面有编译后生成的文件静态库jansson_d.lib 3.使用示例 3.1 新建C语言工程 具体操作过程可以参考文件【VS2022 和 VS2010 C语言控制台输出 Hello World】https://blog.csdn.net/xijinno1/article/details/127826231 3.2 在demo.cpp文件的同文件夹下新建一个文件夹命名为【jansson】 3.3 将build文件夹下的3个文件jansson.h、jansson_config.h、jansson_d.lib粘贴到jansson文件夹下 注意后续3步的操作一定要在与编译jansson的配置一样否则程序将不可使用jansson_d.lib。 3.4 在demo工程属性中添加包含目录 $(LocalDebuggerWorkingDirectory)jansson 3.5 在demo工程属性中添加附加库目录 $(LocalDebuggerWorkingDirectory)jansson 3.6 在demo工程属性中添加附加依赖项 jansson_d.lib 3.7 将下述示例代码覆盖demo.cpp中的所有内容 #include jansson.hint main() {const char* text { \name\:\man\, \age\:30};json_error_t error;// json_t用于引用任何JSON节点json_t* root json_loads(text, 0, error);// 如果读取失败自动置为空指针if (!root) {// 输出具体的失败信息printf(error: on line %d: %s\n, error.line, error.text);return 1;}else {json_decref(root); // 释放JSON对象。}return 0;
}3.8 运行测试程序 程序正常运行无任何输出。 若将 const char* text { \name\:\man\, \age\:30}; 替换成 const char* text { \name\:\man\, \age\:30}; 运行程序将有如下输出